#include <bits/stdc++.h>
using namespace std;
int a[100005], b[100005];
bool desorden(int x, int y) {
  sort(b, b + 3);
  if (a[x] == a[y]) return false;
  swap(a[x], a[y]);
  bool ok = false;
  for (int i = 0; i < 3; i++) {
    if (a[i] != b[i]) ok = true;
    ;
  }
  if (ok) {
    for (int i = 0; i < 3; i++) {
      if (a[i] != b[3 - i - 1]) {
        return true;
      }
    }
  }
  swap(a[x], a[y]);
  return false;
}
int main() {
  int n;
  cin >> n;
  int x = -1, y = -1;
  int mayor = -1;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    b[i] = a[i];
  }
  for (int i = 1; i < n - 1; i++) {
    if (b[i] > mayor) {
      mayor = b[i];
      x = i;
    }
  }
  if (a[0] > mayor) {
    x = 0;
    mayor = a[0];
  }
  if (a[n - 1] > mayor) {
    x = n - 1;
    mayor = a[n - 1];
  }
  int cant = 0;
  for (int i = 1; i < n - 1; i++) {
    if (a[i] != mayor) {
      y = i;
      break;
    } else {
    }
  }
  if (n == 3) {
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
        if (i != j && desorden(i, j)) {
          cout << i + 1 << " " << j + 1 << endl;
          return 0;
        }
      }
    }
    cout << -1 << endl;
    return 0;
  }
  if (n <= 2) {
    cout << -1 << endl;
  } else {
    if ((x != -1 && y != -1)) {
      cout << x + 1 << " " << y + 1 << endl;
    } else {
      if (a[0] != mayor) {
        cout << 1 << " " << 2 << endl;
      } else if (a[n - 1] != mayor)
        cout << n << " " << n - 1 << endl;
      else {
        cout << -1 << endl;
      }
    }
  }
  return 0;
}
