#include <bits/stdc++.h>
using namespace std;
struct tt {
  int l, r, num;
  tt() {}
  tt(int l, int r, int num) : l(l), r(r), num(num) {}
};
bool operator<(tt a, tt b) {
  if (a.l != b.l) return a.l < b.l;
  return a.r > b.r;
}
int main() {
  int n;
  scanf("%d", &n);
  tt a[n];
  for (int i = 0; i < n; i++) {
    int l, r;
    scanf("%d%d", &l, &r);
    a[i] = tt(l, r, i + 1);
  }
  sort(a, a + n);
  for (int i = 0; i < n; i++)
    if (a[i].r > a[0].r) {
      printf("-1");
      return 0;
    }
  printf("%d", a[0].num);
  return 0;
}
