#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using ll = long long;
#define rep(i,n) for(int i=0;i<(int)(n);i++)
using mint = atcoder::modint998244353;

vector<vector<int>> g(2e5);
int dfs(int x,int mx,int par=-1){
	vector<int> v;
	for(auto y:g.at(x)){
		if(y==par) continue;
		v.push_back(dfs(y,mx^1,x));
	}
	if(v.empty()) return 0;
	sort(v.begin(),v.end());
	if(mx) return v.back()+1;
	return v.front()+1;
}

int main(){
	int n;
	cin>>n;
	rep(i,n-1){
		int a,b;
		cin>>a>>b;
		a--; b--;
		g.at(a).push_back(b);
		g.at(b).push_back(a);
	}
	cout<<dfs(0,1)<<endl;
	cout<<dfs(0,0)<<endl;
}