from collections import defaultdict import sys sys.setrecursionlimit(10 ** 6) try: import pypyjit pypyjit.set_param('max_unroll_recursion=-1') except ModuleNotFoundError: pass N = int(input()) adj = defaultdict(list) for _ in range(N-1): u, v = map(lambda x: int(x)-1, input().split()) adj[u].append(v) adj[v].append(u) def dfs(v, par): ans[v] += 1 nsub = 0 # 部分木の頂点数 for to in adj[v]: if to == par: continue r = dfs(to, v) # v と子 ans[v] += r * 2 # 子同士 ans[v] += nsub * r * 2 nsub += r return nsub + 1 ans = [0] * N dfs(0, -1) print(*ans, sep='\n')