import sys;input=sys.stdin.readline
N, = map(int, input().split())
G = [set() for _ in range(N+1)]
for i in range(N-1):
    a, b = map(int, input().split())
    G[a].add((b, i))
    G[b].add((a, i))
stack = [1]
vs = set([1])
vs_dfs = list()
d = [-1 for _ in range(N+1)]
cc = [0 for _ in range(N+1)]
while stack:
    v = stack.pop()
    vs_dfs.append(v)
    for u, j in G[v]:
        if u in vs:
            continue
        d[u] = j
        cc[v] += 1
        vs.add(u)
        stack.append(u)
if cc[1] == 1:
    cc[1] = 0
    d[1] = G[1].pop()[1]
rs = [-1 for _ in range(N-1)]
k = 0
for i in range(1, N+1):
    if cc[i] == 0:
        rs[d[i]] = k
        k+=1
for i in range(N-1):
    if rs[i] == -1:
        rs[i] = k
        k += 1
print(*rs)

