#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); #define rd(v) long v=0;{long _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} #define wt(v) {long _z=v;do*--wp=_z%10+48;while(_z/=10);} #define rep(v,e) for(long v=0;v=a?v:a) #define MAXV 100000 #define MAXE 100000 int en[MAXV]; int ei[MAXV]; int vz[MAXV]; int eb[MAXE]; int uv[MAXE<<1]; int f(int i){ if(vz[i]<0){ write(1,"-1",2); _exit(0); } if(vz[i]>0){ return vz[i]; } vz[i]=-1; int z=1; for(int k=0;k