#include <bits/stdc++.h>
using namespace std;
struct node {
  int l, r, i;
} p[400000];
bool cmp(node a, node b) {
  if (a.l == b.l)
    return a.r > b.r;
  else
    return a.l < b.l;
}
int main() {
  int t, i, j, n, s, x, y, k, mind, maxd, m;
  cin >> n;
  for (i = 1; i <= n; i++) scanf("%d%d", &p[i].l, &p[i].r), p[i].i = i;
  int ans = 1;
  sort(p + 1, p + 1 + n, cmp);
  t = 0;
  for (i = 2; i <= n; i++) {
    if (p[i].l > p[ans].r)
      ans = i;
    else {
      if (p[i].r > p[ans].r)
        ans = i;
      else {
        printf("%d %d\n", p[i].i, p[ans].i);
        return 0;
      }
    }
  }
  printf("-1 -1\n");
  return 0;
}
