#include using namespace std; struct P{ int value; int dad; int num; }a[10005]; int find(int x){ if(a[x].dad==-1) return x; else return find(a[x].dad); } int main(){ // freopen("monkey.in","r",stdin); // freopen("monkey.out","w",stdout); int n,m; cin>>n>>m; for(int i=1;i<=n;++i){ a[i].value=i; a[i].dad=-1; a[i].num=0; } for(int i=1;i<=m;++i){ int p,q; cin>>p>>q; if(a[p].dad!=-1) p=a[p].dad; if(a[q].dad!=-1) q=a[q].dad; if(p==q) continue; if(a[p].num>a[q].num){ a[p].num+=a[q].num; a[q].dad=p; a[p].num++; } if(a[p].num==a[q].num){ if(p>q){ a[q].num+=(a[p].num+1); a[p].dad=q; } if(p