n = int(input())
tree = [[] for _ in range(n + 1)]
enum = dict()
for i in range(n - 1):
    u, v = map(int, input().split())
    tree[u].append(v)
    tree[v].append(u)
    enum[(u, v)] = enum[(v, u)] = i
found = False
ans = list(range(n - 1))
free = set(range(n - 1))
for start in range(1, n + 1):
    if len(tree[start]) > 2:
        fork = tree[start][:3]
        found = True
        ans[enum[(start, fork[2])]] = 0
        ans[enum[(start, fork[0])]] = 1
        ans[enum[(start, fork[1])]] = 2
        free.remove(enum[(start, fork[2])])
        free.remove(enum[(start, fork[0])])
        free.remove(enum[(start, fork[1])])
        break
if found:
    for i, w in zip(free, range(3, n - 1)):
        ans[i] = w
print(*ans, sep='\n')
