import sun.reflect.generics.tree.Tree;

import java.lang.reflect.Array;
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int []a=new int[n+1];
        int [][]b=new int[n+1][n+1];
        List<Map<Integer,Integer>> list =new ArrayList<>();
        for(int i=0;i<n-1;i++){
            int x=sc.nextInt();
            int y=sc.nextInt();
            a[x]++;
            a[y]++;
            HashMap<Integer, Integer> map = new HashMap<>();
            map.put(x,y);
            list.add(map);
        }
        List<Integer> list2 = new ArrayList<>();
        for(int j=0;j<n;j++)
            if(a[j]==1)
                list2.add(j);
         if(list2.size()>2)
             list2=list2.subList(0,2);
       int index=n-2;
       int indexShort=0;
       int j=0;
       int res[]=new int[n-1];
      for(Map<Integer,Integer> map:list){
          Iterator<Integer> iterator = map.keySet().iterator();
          Integer key = iterator.next();
          Integer val = map.get(key);
          if(list2.contains(key)||list2.contains(val))
             res[j++]=indexShort++;
          else
              res[j++]=index--;
      }
      for(int i:res)
          System.out.println(i);
    }

}