from collections import defaultdict as dd
from collections import deque
import sys
sys.setrecursionlimit(pow(10,5))
input = sys.stdin.readline

def count_leaf(tree,degree,visited,i):
	#print(degree)
	visited[i] = True
	for k in tree[i]:
		if visited[k] == False:
			degree[i]+=1
			degree[k]+=1
			count_leaf(tree,degree,visited,k)



def main():
	
	tree = dd(list)
	t = int(input())
	inpu = []
	for i in range(t-1):
		a,b = map(int,input().split())
		inpu.append((a,b))
		tree[a].append(b)
		tree[b].append(a)
	leafes = []
	#count_leaf(tree,degree,visited,1)
	for i in tree:
		if len(tree[i]) == 1:
			leafes.append(i)
	#print(leafes)
	leaf = deque()
	non_leaf = deque()

	for i in range(len(leafes)):
		leaf.append(i)
	for i in range(len(leafes),t):
		non_leaf.append(i)

	#print(leafes)
	#print(leaf)
	#print(non_leaf)
	#print(inpu)
	for i in inpu:
		if len(tree[i[0]]) == 1 or len(tree[i[1]]) == 1:
			print(leaf.popleft())
		else:
			print(non_leaf.popleft())

 
		

main()