#include #include typedef long long int int64; int root(int *u,int x){ if(u[x]==x) return x; return u[x]=root(u,u[x]); } int same(int *u,int x,int y){ return root(u,x)==root(u,y); } void unite(int *u,int x,int y){ x=root(u,x); y=root(u,y); if(x==y) return; u[x]=y; } int cmp(const void *a,const void *b,void *d){ int *c=(int *)d; return c[*(int *)a]-c[*(int *)b]; } void run(void){ int n,m,k; scanf("%d%d%d",&n,&m,&k); int *a=(int *)calloc(m,sizeof(int)); int *b=(int *)calloc(m,sizeof(int)); int *c=(int *)calloc(m,sizeof(int)); int i; for(i=0;i