#include <bits/stdc++.h>
using namespace std;
int n, k, m;
vector<int> v;
int dx[] = {1, 0, -1, 0, 1, -1, -1, 1};
int dy[] = {0, 1, 0, -1, 1, 1, -1, -1};
map<int, int> cnt;
int main() {
  cin >> n;
  v.resize(n);
  int mx = 0, val = 0;
  ;
  for (int i = 0; i < n; i++) {
    cin >> v[i];
    cnt[v[i]]++;
    if (mx < cnt[v[i]]) {
      mx = cnt[v[i]];
      val = v[i];
    }
  }
  vector<int> v2 = v, v3;
  sort(v2.begin(), v2.end());
  v3 = v2;
  reverse(v3.begin(), v3.end());
  if (n <= 2) {
    cout << -1;
    return 0;
  }
  if (v == v2) {
    bool ans = 0;
    for (int i = 1; i < n; i++) {
      if (v[i] != v[i - 1]) {
        ans = 1;
        cout << i << " " << i + 1;
        return 0;
      }
    }
    cout << "-1";
    return 0;
  } else if (v == v3) {
    bool ans = 0;
    for (int i = 1; i < n; i++) {
      if (v[i] != v[i - 1]) {
        ans = 1;
        cout << i << " " << i + 1;
        return 0;
      }
    }
    cout << "-1";
    return 0;
  } else {
    if (n == 3) {
      if (v2[0] == v2[1]) {
        cout << -1 << endl;
        return 0;
      }
      if (v[0] != v[1]) {
        swap(v[0], v[1]);
        if (v != v2 && v != v3) {
          cout << 1 << " " << 2;
          ;
          return 0;
        }
        swap(v[0], v[1]);
      }
      if (v[0] != v[2]) {
        swap(v[0], v[2]);
        if (v != v2 && v != v3) {
          cout << 1 << " " << 3;
          ;
          return 0;
        }
        swap(v[0], v[2]);
      }
      if (v[1] != v[2]) {
        swap(v[1], v[2]);
        if (v != v2 && v != v3) {
          cout << 2 << " " << 3;
          ;
          return 0;
        }
      }
      cout << -1;
    } else {
      if (mx >= 2) {
        int c = -1, cnte = 0, c2;
        for (int i = 0; i < n; i++) {
          if (c == -1 && v[i] != val) {
            c = i;
            break;
          }
        }
        for (int i = 0; i < n; i++) {
          if (v[i] == val) {
            if (cnte > 0) {
              cnte++;
              c2 = i;
              break;
            } else
              cnte++;
          }
        }
        cout << c + 1 << " " << c2 + 1;
      } else {
        swap(v[0], v[1]);
        if (v != v2 && v != v3) {
          cout << 1 << " " << 2 << endl;
          ;
        } else
          cout << 2 << " " << 3 << endl;
      }
    }
  }
}
