#include int data[100010]; int root(int a){ return data[a]<0?a:data[a]=root(data[a]); } int unite(int a,int b){ a=root(a); b=root(b); if(a==b)return 0; if(data[b]