from collections import defaultdict def solve(): N = int(input()) C = defaultdict(list) for i in range(N - 1): x, y = map(int, input().split()) C[x - 1].append(y - 1) L = [0] * N R = [0] * N def dfs(v, r): R[v] = r L[v] = 0 if C[v]: mi = float('inf') for c in C[v]: mi = min(mi, dfs(c, r + 1)) L[v] = mi + 1 return L[v] dfs(0, 0) for i in range(N): print(min(R[i], L[i])) if __name__ == '__main__': solve()