#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:65777216")
using namespace std;
struct Y {
  int fir, sec;
};
bool cmp(Y i, Y j) {
  if (i.fir != j.fir) return i.fir < j.fir;
  return i.sec < j.sec;
}
int main() {
  int n, a[100010];
  cin >> n;
  for (int i = 0; i < n; i++) cin >> a[i];
  if (n <= 2)
    cout << -1 << endl;
  else {
    bool bb = 0;
    int x = a[0], y = a[0], indx = 0, indy = 0, x1 = a[0], y1 = a[0], indx1 = 0,
        indy1 = 0;
    for (int i = 0; i < n - 1; i++) {
      if (a[i + 1] != a[i]) bb = 1;
      if (a[i + 1] < x) {
        indx = i + 1;
        x = a[i + 1];
      }
      if (a[i + 1] > y) {
        indy = i + 1;
        y = a[i + 1];
      }
      if (a[i + 1] <= x1) {
        indx1 = i + 1;
        x1 = a[i + 1];
      }
      if (a[i + 1] >= y1) {
        indy1 = i + 1;
        y1 = a[i + 1];
      }
    }
    if (!bb)
      cout << -1 << endl;
    else {
      int k1 = 0, k2 = 0;
      for (int i = 0; i < n; i++) {
        if (a[i] != x) k1++;
        if (a[i] != y) k2++;
      }
      if (k1 >= 2 || k2 >= 2) {
        int ind1 = -1, ind2 = -1, k = 0;
        for (int i = 0; i < n; i++) {
          if (a[i] > x && k == 1 && i > indx) {
            k++;
            ind2 = i + 1;
          }
          if (a[i] > x && k == 0 && i > indx) {
            k++;
            ind1 = i + 1;
          }
        }
        if (ind1 != -1 && ind2 != -1) {
          cout << ind1 << " " << indx + 1 << endl;
          return 0;
        }
        ind1 = -1, ind2 = -1, k = 0;
        for (int i = 0; i < n; i++) {
          if (a[i] > x1 && k == 1 && i < indx1) {
            k++;
            ind2 = i + 1;
          }
          if (a[i] > x1 && k == 0 && i < indx1) {
            k++;
            ind1 = i + 1;
          }
        }
        if (ind1 != -1 && ind2 != -1) {
          cout << ind2 << " " << indx1 + 1 << endl;
          return 0;
        }
        ind1 = -1, ind2 = -1, k = 0;
        for (int i = 0; i < n; i++) {
          if (a[i] < y && k == 1 && i > indy) {
            k++;
            ind2 = i + 1;
          }
          if (a[i] < y && k == 0 && i > indy) {
            k++;
            ind1 = i + 1;
          }
        }
        if (ind1 != -1 && ind2 != -1) {
          cout << ind1 << " " << indy + 1 << endl;
          return 0;
        }
        ind1 = -1, ind2 = -1, k = 0;
        for (int i = 0; i < n; i++) {
          if (a[i] < y1 && k == 1 && i < indy1) {
            k++;
            ind2 = i + 1;
          }
          if (a[i] < y1 && k == 0 && i < indy1) {
            k++;
            ind1 = i + 1;
          }
        }
        if (ind1 != -1 && ind2 != -1) {
          cout << ind2 << " " << indy1 + 1 << endl;
          return 0;
        }
        cout << -1 << endl;
      } else
        cout << -1 << endl;
    }
  }
  return 0;
}
