#include <bits/stdc++.h>
using namespace std;
struct Nodes {
  int a, b;
} p[5010];
int n;
bool cmp(Nodes p1, Nodes p2) {
  if (p1.a == p2.a) return p1.b < p2.b;
  return p1.a < p2.a;
}
int main() {
  while (scanf("%d", &n) != EOF) {
    for (int i = 1; i <= n; i++) {
      scanf("%d%d", &p[i].a, &p[i].b);
    }
    sort(p + 1, p + n + 1, cmp);
    int maxt = 0;
    for (int i = 1; i <= n; i++) {
      if (p[i].b < maxt)
        maxt = p[i].a;
      else
        maxt = p[i].b;
    }
    printf("%d\n", maxt);
  }
  return 0;
}
