#include #include using namespace std; using namespace atcoder; int main() { int N, M; cin >> N >> M; vector C(N); for (int i = 0; i < N; i++) { cin >> C[i]; C[i]--; } dsu d(N); for (int i = 0; i < M; i++) { int u, v; cin >> u >> v; u--; v--; if (C[u] == C[v]) { d.merge(u, v); } } vector T(N); for (auto a : d.groups()) { T[C[a[0]]]++; } long long ans = 0; for (int i = 0; i < N; i++) { if (T[i]) { ans += T[i] - 1; } } cout << ans; }