#include <iostream>
#include <vector>
using namespace std;
const int X = 250000;
vector<int> galezie[X];
bool visited[X];
int blue = 0, red = 0;
void jaki_kolor(int a, int kolor){
visited[a] = true;
if (kolor == 0) blue++;
else red++;
for (int nastepny : galezie[a]){
if (visited[nastepny]==false){
jaki_kolor(nastepny, 1 - kolor);
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
for (int i = 1; i < n; ++i) {
int a, b;
cin >> a >> b;
galezie[a].push_back(b);
galezie[b].push_back(a);
}
jaki_kolor(1, 0);
cout << blue << " " << red << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IFggPSAyNTAwMDA7CnZlY3RvcjxpbnQ+IGdhbGV6aWVbWF07CmJvb2wgdmlzaXRlZFtYXTsKaW50IGJsdWUgPSAwLCByZWQgPSAwOwp2b2lkIGpha2lfa29sb3IoaW50IGEsIGludCBrb2xvcil7CiAgICB2aXNpdGVkW2FdID0gdHJ1ZTsKICAgIGlmIChrb2xvciA9PSAwKSBibHVlKys7CiAgICBlbHNlIHJlZCsrOwogICAgZm9yIChpbnQgbmFzdGVwbnkgOiBnYWxlemllW2FdKXsKICAgICAgICBpZiAodmlzaXRlZFtuYXN0ZXBueV09PWZhbHNlKXsKICAgICAgICAgICAgamFraV9rb2xvcihuYXN0ZXBueSwgMSAtIGtvbG9yKTsKICAgICAgICB9CiAgICB9Cn0KaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwogICAgaW50IG47CiAgICBjaW4gPj4gbjsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgKytpKSB7CiAgICAgICAgaW50IGEsIGI7CiAgICAgICAgY2luID4+IGEgPj4gYjsKICAgICAgICBnYWxlemllW2FdLnB1c2hfYmFjayhiKTsKICAgICAgICBnYWxlemllW2JdLnB1c2hfYmFjayhhKTsKICAgIH0KICAgIGpha2lfa29sb3IoMSwgMCk7CiAgICBjb3V0IDw8IGJsdWUgPDwgIiAiIDw8IHJlZCA8PCAnXG4nOwogICAgcmV0dXJuIDA7Cn0=