#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(0);
  cout.tie(0);
  cin.tie(0);
  cout.precision(10);
  bool vozr = 1, ub = 1, same;
  int n;
  cin >> n;
  vector<int> a(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    if (i != 0 && a[i] > a[i - 1]) ub = 0;
    if (i != 0 && a[i] < a[i - 1]) vozr = 0;
  }
  if (n <= 2 || (vozr && ub)) {
    cout << -1 << '\n';
    return 0;
  }
  if (vozr) {
    same = 1;
    for (int i = 2; i < n - 1; i++) {
      if (a[i] != a[i - 1]) same = 0;
    }
    if (same) {
      if (a[n - 2] == a[n - 1])
        cout << 1 << ' ' << n - 1 << '\n';
      else
        cout << n - 1 << ' ' << n << '\n';
    } else
      cout << 1 << ' ' << n << '\n';
  } else if (ub) {
    same = 1;
    for (int i = 2; i < n - 1; i++) {
      if (a[i] != a[i - 1]) same = 0;
    }
    if (same) {
      if (a[n - 2] == a[n - 1])
        cout << 1 << ' ' << 2 << '\n';
      else
        cout << n - 1 << ' ' << n << '\n';
    } else
      cout << 1 << ' ' << n << '\n';
  } else {
    if (n == 3) {
      if (a[0] == a[2])
        cout << -1 << '\n';
      else
        cout << 1 << ' ' << 3 << '\n';
    } else {
      int minn = 1100000000, maxx = -1, id1, id2;
      for (int i = 0; i < n; i++) {
        if (a[i] < minn) {
          minn = a[i];
          id1 = i;
        }
        if (a[i] >= maxx) {
          maxx = a[i];
          id2 = i;
        }
      }
      if (id1 == 0) {
        if (id2 == n - 1)
          cout << 1 << ' ' << n << '\n';
        else {
          if (id2 == 1)
            cout << 2 << ' ' << 3 << '\n';
          else
            cout << 2 << ' ' << id2 + 1 << '\n';
        }
      } else {
        if (id1 == 1)
          cout << 2 << ' ' << 3 << '\n';
        else
          cout << 2 << ' ' << id1 + 1 << '\n';
      }
    }
  }
  return 0;
}
