#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';
}