def dfs(ans,edge,v): if len(edge[v])==0: ans[v] = 1 return 1 cnt = 1 for w in edge[v]: a = dfs(ans,edge,w) ans[v] -= a*a cnt += a ans[v] += cnt*cnt return cnt def solve(): N = int(input()) edge = [[] for _ in range(N)] for _ in range(N-1): a,b = map(int, input().split()) edge[a-1].append(b-1) ans = [0]*N dfs(ans,edge,0) return ans print(*solve(),sep='\n')