func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m;   vector<int> vec[300000];   int mn(int x);   int mx(int x) {     if (!vec[x].size()) return 0;     int ret = n;     for (int i = (0); i < (vec[x].size()); i++) ret = min(ret, mn(vec[x][i]));     return ret;   }   int mn(int x) {     if (!vec[x].size()) return 0;     int ret = 0;     for (int i = (0); i < (vec[x].size()); i++) ret += mx(vec[x][i]) + 1;     return ret - 1;   }   int main() {     scanf( %d , &n);     for (int i = (0); i < (n - 1); i++) {       int x, y;       scanf( %d%d , &x, &y);       x--;       y--;       vec[x].push_back(y);     }     int leaf = 0;     for (int i = (0); i < (n); i++)       if (!vec[i].size()) leaf++;     printf( %d %d n , leaf - mx(0), 1 + mn(0));     return 0;   }   