#include<bits/stdc++.h>
#define int long long
using namespace std;
vector<int> G[1000010];
int maxd=-1,maxu;
void dfs(int a,int b,int c)
{
if(c>maxd)
{
maxd=c;
maxu=a;
}
for(int i=0;i<G[a].size();i++)
{
int aa=G[a][i];
if(aa==b) continue;
dfs(aa,a,c+1);
}
}
signed main()
{
int a;
cin>>a;
for(int i=1;i<a;i++)
{
int x,y;
cin>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
dfs(1,0,0);
maxd=0;
dfs(maxu,0,0);
maxd=0;
dfs(maxu,0,0);
cout << maxu;
return 0;
}