#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 1;
struct ss {
  int l, r;
} s[N];
ss* le[N];
ss* ri[N];
bool csl(ss* a, ss* b);
bool csr(ss* a, ss* b);
int main() {
  int n, i;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d%d", &s[i].l, &s[i].r);
    le[i] = s + i;
    ri[i] = s + i;
  }
  sort(le + 1, le + 1 + n, csl);
  sort(ri + 1, ri + 1 + n, csr);
  for (i = 1; i <= n; i++) {
    if (le[i] != ri[i]) {
      printf("%ld %ld\n", ri[i] - s, le[i] - s);
      return 0;
    } else if (i >= 2 && le[i]->l == le[i - 1]->l) {
      printf("%ld %ld\n", le[i - 1] - s, le[i] - s);
      return 0;
    } else if (i >= 2 && ri[i]->r == ri[i - 1]->r) {
      printf("%ld %ld\n", ri[i - 1] - s, ri[i] - s);
      return 0;
    }
  }
  printf("-1 -1\n");
}
bool csl(ss* a, ss* b) {
  if (a->l != b->l) {
    return a->l < b->l;
  } else
    return a->r < b->r;
}
bool csr(ss* a, ss* b) {
  if (a->r != b->r) {
    return a->r < b->r;
  } else
    return a->l > b->l;
}
