int uniroot[10010],unicnt[10010]; void ufinit(int n){for(int i=0;iroot(b))a^=b^=a^=b; uni(b,a); } } for(int i=1;i<=n;i++)printf("%d\n",root(i)); }