#include <bits/stdc++.h>
using namespace std;
struct node {
  int a, b;
} a[10000];
int cmp(node x1, node x2) {
  if (x1.a != x2.a)
    return x1.a < x2.a;
  else
    return x1.b < x2.b;
}
int i, j, k, l, q, w, e, r, nn, m;
int main() {
  scanf("%d", &nn);
  for (i = 1; i <= nn; i++) {
    scanf("%d%d", &a[i].a, &a[i].b);
  }
  sort(a + 1, a + nn + 1, cmp);
  int maxn = 0;
  for (i = 1; i <= nn; i++) {
    if (a[i].b >= maxn)
      maxn = a[i].b;
    else
      maxn = a[i].a;
  }
  printf("%d\n", maxn);
  return 0;
}
