#include<algorithm> #include<iostream> #include<cstdio> #include<cmath> using namespace std; inline int read() { int x = 0, f = 1; char ch = getchar(); while (ch < '0' || ch > '9') { if (ch == '-')f = -1; ch = getchar(); } while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); } return x*f; } int n, fa[1000001]; bool vis[1000001]; inline int find(int x) { return fa[x] == x ? x : fa[x] = find(fa[x]); } inline void un(int x, int y) { if (x < y)swap(x, y); vis[y] = 1; fa[y] = x; } int main() { n = read(); for (int i = 1; i <= n + 1; i++) fa[i] = i; for (int i = 1; i <= n; i++) { int p = find(read()), q = find(read()); if (p != q)un(p, q); else vis[p] = 1; } for (int i = 1; i <= n + 1; i++) if (!vis[i]) { printf("%d", i-1); break; } return 0; }