N = int(input()) G = [[] for _ in range(N+1)] for _ in range(N-1): x,y = map(int,input().split()) G[x].append(y) G[y].append(x) depth = [0] * (N +1) dp = [-5] * (N +1) stack = [(1,0)] from collections import deque q = deque() while stack: now,parent = stack.pop() if now != 0 and len(G[now]) == 1: q.append(now) dp[now] = 0 for v in G[now]: if v == parent:continue depth[v] = depth[now] + 1 stack.append((v,now)) while q: now = q.popleft() for v in G[now]: if dp[v] == -5: dp[v] = dp[now] + 1 q.append(v) for i in range(1,N+1): print(min(depth[i],dp[i]))