from sys import stdin
input=stdin.readline
#import bisect
#i = bisect.bisect_left(a, k)
#list=input().split(maxsplit=1)
for xoxo in range(1):
    #a=[]a
    for _ in range (1):
        n=int(input())
        t=[]
        for i in range(n):
            t.append([])
        a=[]    
        for i in range(n-1):
            l,r=map(int, input().split())
            t[l-1].append(r-1)
            t[r-1].append(l-1)
            a.append([min(l,r)-1,max(l,r)-1])
        ans=[]    
        k=-1
        for i in range(n):
            if len(t[i])>2:
                for j in range(3):
                    ans.append([min(i,t[i][j]),max(i,t[i][j])])
                break
                k=0
        if k==-1:
            for i in range(n-1):
                print(i)
            exit()    
        k,p=3,0
        for i in range(n-1):            
            if a[i] in ans:
                print(p)
                p+=1
            else:
                print(k)
                k+=1
        #print(ans,t,a)
            
    #ans=[]
    #n,k=map(int, input().split())
    #a=list(map(int, input().split()))
    #ans=0
