#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
struct Node {
  int l, r, id;
} e[N];
bool cmp(const Node &e1, const Node &e2) {
  if (e1.l != e2.l) return e1.l < e2.l;
  return e1.r < e2.r;
}
int n, cur = -1, last = -2;
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    scanf("%d%d", &e[i].l, &e[i].r);
    e[i].id = i;
  }
  sort(e + 1, e + 1 + n, cmp);
  for (int i = 1; i <= n; ++i) {
    if (e[i].r <= cur) {
      printf("%d\n", e[i].id);
      return 0;
    }
    if (e[i].l <= last + 1) {
      printf("%d\n", e[i - 1].id);
      return 0;
    }
    last = max(e[i].l - 1, cur);
    cur = e[i].r;
  }
  puts("-1");
}
