#include<bits/stdc++.h>
#define int long long
#define O() puts("")
#define o() printf(" ")
#define in(x) scanf("%lld",&x)
#define out(x) printf("%lld ",x)
#define OUT(x) printf("%lld\n",x)
#define fr(x,y,z) for(int x=y;x<=z;x++)
#define rf(x,y,z) for(int x=y;x>=z;x--)
using namespace std;
const int maxn=1e6+10;
int n;
int a,b;
bool vis[maxn];
struct Disjoint_set_data_structure {
int fa[maxn];
void init(int Max) {
fr(i,1,Max) fa[i]=i;
}
int find(int x) {
return x==fa[x] ? x : fa[x]=find(fa[x]);
}
void merge(int x,int y) {
int f1=find(x),f2=find(y);
if(f1==f2) vis[f1]=true;
else {
if(f1<f2) swap(f1,f2);
vis[f2]=true;
fa[f2]=f1;
}
}
} ds;
signed main() {
// freopen("","r",stdin);
// freopen("","w",stdout);
memset(vis,false,sizeof(vis));
in(n);
ds.init(n+1);
fr(i,1,n) {
in(a),in(b);
ds.merge(a,b);
}
fr(i,1,n+1) {
if(!vis[i]) {
OUT(i-1ll);
break;
}
}
return 0;
}
马蜂可能体现了生物基因多样性,多多包涵