#include <bits/stdc++.h> using namespace std; #include <atcoder/dsu> using namespace atcoder; int main() { int n, m; cin >> n >> m; vector<int> c(n); for (int i = 0; i < n; i++) cin >> c[i]; set<int> s; for (int i: c) s.insert(i); dsu uf(n); while (m--) { int u, v; cin >> u >> v; u--; v--; if (c[u] == c[v]) uf.merge(u, v); } cout << uf.groups().size() - s.size() << '\n'; }