#include <bits/stdc++.h>
using namespace std;
struct edge {
  int a, b;
};
int main() {
  int n;
  cin >> n;
  vector<edge> ed;
  int u, v;
  int deg[100004];
  for (int i = 0; i < n - 1; i++) {
    cin >> u >> v;
    edge a;
    a.a = u;
    a.b = v;
    ed.push_back(a);
    deg[u]++;
    deg[v]++;
  }
  int f = 0;
  int l = n - 2;
  for (int i = 0; i < ed.size(); i++) {
    if (deg[ed[i].a] == 1 || deg[ed[i].b] == 1) {
      cout << f++ << endl;
    } else {
      cout << l-- << endl;
    }
  }
}
