#include #include #include #include using namespace std; #define maxn 200010 struct node{ int u,v,w; }edge[maxn]; int parent[maxn]; int n,m,ans,sum; int cmp(const node &p,const node &q){ return p.w=0;i=parent[i]) ; while(i!=x){ int tmp=parent[x]; parent[x]=i; x=tmp; } return i; } void Union(int x,int y){ int r1=Find(x),r2=Find(y); if(r1==r2) return; if(parent[r1]