func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mod = 1000000007;   const int N = 1e5 + 9;   vector<int> v[N];   bool visited[N];   int c = 0;   map<pair<int, int>, int> m;   void dfs(int x, int parent) {     visited[x] = true;     bool b = false;     for (int i = 0; i < v[x].size(); i++) {       if (!visited[v[x][i]]) {         b = true;         dfs(v[x][i], x);       }     }     if (!b) m[{parent, x}] = c++;   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     ;     int x;     cin >> x;     int l[x - 1], r[x - 1];     for (int i = 0; i < x - 1; i++) {       cin >> l[i] >> r[i];       v[l[i]].push_back(r[i]);       v[r[i]].push_back(l[i]);     }     dfs(l[0], l[0]);     for (int i = 0; i < x - 1; i++) {       if (m.find({l[i], r[i]}) != m.end())         cout << m[{l[i], r[i]}] <<   n ;       else if (m.find({r[i], l[i]}) != m.end())         cout << m[{r[i], l[i]}] <<   n ;       else         cout << c++ <<   n ;     }     return 0;   }   