#include #include using namespace std; int N; vectorG[2<<17]; long ans[2<<17]; long dfs(int u,int p) { long c=1; vectornow; for(int v:G[u])if(v!=p) { long t=dfs(v,u); now.push_back(t); c+=t; } ans[u]=c; for(long x:now) { ans[u]+=(c-x)*x; } return c; } main() { cin>>N; for(int i=1;i>u>>v; u--,v--; G[u].push_back(v); G[v].push_back(u); } dfs(0,-1); for(int i=0;i