func_code_string: #include <bits/stdc++.h>   using namespace std;   void err(istream_iterator<string> it) {}   template <typename T, typename... Args>   void err(istream_iterator<string> it, T a, Args... args) {     cout << *it <<   =   << a <<   n ;     err(++it, args...);   }   const int MOD = 1e9 + 7, N = 2e5 + 5, B = 32;   vector<int> g[N];   vector<int> inv(N);   map<pair<int, int>, int> mp;   map<int, vector<int>> mpans;   void dfs(int u, int p) {     for (auto v : g[u]) {       if (v == p) continue;       if (mp[{u, v}]) inv[v] += 1;       dfs(v, u);       inv[u] += inv[v];     }   }   void dfs1(int u, int p, int temp) {     mpans[temp].push_back(u);     for (auto v : g[u]) {       if (v == p) continue;       int v1;       if (mp[{u, v}])         v1 = -1;       else         v1 = 1;       dfs1(v, u, temp + v1);     }   }   void solve() {     int n;     cin >> n;     for (int i = 1; i < n; i++) {       int x, y;       cin >> x >> y;       mp[{x, y}] = 0;       mp[{y, x}] = 1;       g[x].push_back(y);       g[y].push_back(x);     }     dfs(1, 0);     dfs1(1, 0, inv[1]);     auto xx = *mpans.begin();     cout << xx.first <<   n ;     sort(xx.second.begin(), xx.second.end());     for (auto r : xx.second) cout << r <<    ;   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     ;     solve();   }   