/** * author: zjs * created: 23.06.2026 21:15:33 **/ #include #include // does not include cassert since GCC 16. using namespace std; #ifdef LOCAL #include "debug.h" #else #define debug(...) 42 #endif const int maxn = 2e5 + 5; vector g[maxn]; int sz[maxn]; long long ans[maxn]; void dfs(int u, int p) { sz[u] = 1; for (int v : g[u]) if (v != p) { dfs(v, u); sz[u] += sz[v]; ans[u] -= (long long) sz[v] * sz[v]; } ans[u] += (long long) sz[u] * sz[u]; } int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; for (int i = 0; i < n - 1; i++) { int u, v; cin >> u >> v; g[u].push_back(v); g[v].push_back(u); } dfs(1, 0); for (int i = 1; i <= n; i++) cout << ans[i] << '\n'; }