import sys sys.setrecursionlimit(10**8) import pypyjit pypyjit.set_param('max_unroll_recursion=-1') N = int(input()) G = [list() for _ in range(N)] for i in range(N - 1): u, v = map(int, input().split()) u -= 1 v -= 1 G[u].append(v) G[v].append(u) cnt = [1]*N ans = [0]*N def dfs(pos, pre): for nex in G[pos]: if nex == pre: continue dfs(nex, pos) # 親に計上 cnt[pos] += cnt[nex] # pos の子どもの計算はすべて終わっている res = 0 childrentotal = cnt[pos] - 1 # 子ども同士 for nex in G[pos]: if nex == pre: continue res += cnt[nex] * (childrentotal - cnt[nex]) # 親と子ども(双方向) res += 1 * childrentotal * 2 # 親と親 res += 1 ans[pos] = res dfs(0, -1) print(*ans, sep='\n')