#include<bits/stdc++.h>#definems(__x__,__val__)memset(__x__, __val__,sizeof(__x__))#defineall(_x_) _x_.begin(),_x_.end()#definepb(__x__)push_back(__x__)#defineinf0x3f3f3f3f#defineIOSios::sync_with_stdio(0);cin.tie(0); cout.tie(0)usingnamespace std;constint maxn =2e5+5;int N,M,K;int fa[maxn];int color[maxn];intfind(int x){return fa[x]== x ? x : fa[x]=find(fa[x]);}voidmerge(int x,int y){int Rx =find(x);int Ry =find(y);
fa[Rx]= Ry;}intmain(){
cin>>N>>M>>K;for(int i =1;i <= N;i++) cin>>color[i];for(int i =1;i <= N;i++) fa[i]= i;while(M--){int L,R;
cin>>L>>R;merge(L,R);}
map<int,map<int,int>> mp;for(int i =1; i <= N;i++){int R =find(i);
mp[R][color[i]]++;}int ans =0;for(auto u : mp){int sum =0;int MAX =0;auto uu = u.second;for(auto t : uu){
sum += t.second;
MAX =max(MAX,t.second);}
ans += sum - MAX;// 总数量 - 相同数最多的 }
cout<<ans;}