#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define rd() ({long _v=0,_c;while(_c=*rp++-48,_c>=0)_v=_v*10+_c;_v;}) #define wt(v) ({unsigned _z=v;do*--wp=_z%10+48;while(_z/=10);}) #define rep(v,e) for(long v=0;v>32; ulong x=(unsigned)s; c=(c*y+b*x)%MD; b=(b*y+a*x)%MD; a=a*y%MD; } } // return aaa(a+b)|aaa(b+c)<<32; return (a+b)|(b+c)<<32; } int main(){ char*mmap(); char*rp=mmap(0l,1l<<25,1,2,0,0ll); long n=rd(); rep(j,n-1<<1){ ++en[(uv[j]=rd()-1)+2]; } { int s=0; rep3(i,2,n+2){ en[i]=s+=en[i]; } } rep(j,n-1<<1){ eb[en[uv[j]+1]++]=uv[j^1]; } ulong s=f(0,0); char wbuf[64],*wp=wbuf+sizeof wbuf; wt(aaa(s>>32)); write(1,wp,wbuf+sizeof wbuf-wp); _exit(0); }