def dfs(b,h,d): R[h] = d L[h] = 0 if len(e[h])==1 and h!=0 else min(dfs(h,nxt,d+1) for nxt in e[h] if nxt!=b) return L[h]+1 N = input() e = [[] for i in range(N)] R = [0]*N; L = [0]*N for i in range(N-1): x,y = map(int,raw_input().split()) e[x-1].append(y-1) e[y-1].append(x-1) dfs(0,0,0) for i in range(N): print min(R[i],L[i])