n = int(input())
graph = [[] for _ in range(n)]
for _ in range(n - 1):
    a, b = map(int, input().split())
    a -= 1
    b -= 1
    graph[a].append(b)
    graph[b].append(a)

# 始めに頂点位置のスコアを求める。
score = 0
q = [(0, -1)]  # now, parent
while q:
    now, par = q.pop()
    if par > now:
        score += 1
    for nxt in graph[now]:
        if nxt != par:
            q.append((nxt, now))

# 今いる頂点nowから隣接する頂点nxtに移動してnow<nxtならスコア+1, now>nxtならスコア-1する
ans = [0] * n
ans[0] = score

q = [(0, -1)]  # now, parent
while q:
    now, par = q.pop()
    for nxt in graph[now]:
        if nxt != par:
            if nxt > now:
                ans[nxt] = ans[now] + 1
            else:
                ans[nxt] = ans[now] - 1
            q.append((nxt, now))

for a in ans:
    print(a)