#include <bits/stdc++.h>
using namespace std;
struct A {
  int a, b;
} k[5005];
bool cmp(A a, A b) {
  if (a.a < b.a)
    return 1;
  else if (a.a == b.a) {
    return a.b < b.b;
  } else
    return 0;
}
int main() {
  int n, i, j;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d%d", &k[i].a, &k[i].b);
  }
  sort(k + 1, k + 1 + n, cmp);
  int tmp = -1;
  for (i = 1; i <= n; i++) {
    if (k[i].b >= tmp) {
      tmp = k[i].b;
    } else if (k[i].a >= tmp) {
      tmp = k[i].a;
    }
  }
  printf("%d\n", tmp);
  return 0;
}
