#define MD 998244353 graph g; Mint z; pairf(int i,int p){ pairr; Mint m=0,o=0; rep[g.edge[i]](j,g.es[i]){ if(j!=p){ auto[a,b]=f(j,i); z+=b; z+=a*m; z+=o; m+=1; o+=a; r.first+=1; r.second+=a; } } return r; } { ll@t; rep(t){ int@n,@(u,v)[n-1]--; g.setEdge(n,n-1,u,v); z=0; f(0,0); wt(z); } }