#include <bits/stdc++.h>
using namespace std;
const int nmax = 100111;
int n;
int m;
int a[nmax];
int b[nmax];
int vt[nmax];
int tmp_value;
int ans;
bool check() {
  if (n <= 2) return false;
  bool not_same = false;
  for (int cs = 1; cs < n; cs++)
    if (a[cs] != a[cs - 1]) {
      not_same = true;
      break;
    }
  if (not_same == false) return false;
  return true;
}
bool check_solution() {
  bool check1 = true;
  for (int cs = 1; cs < n; cs++)
    if (!(a[cs] >= a[cs - 1])) {
      check1 = false;
      break;
    }
  if (check1) return false;
  bool check2 = true;
  for (int cs = 1; cs < n; cs++)
    if (!(a[cs] <= a[cs - 1])) {
      check2 = false;
      break;
    }
  if (check2) return false;
  return true;
}
int solve() {
  ans = -1;
  for (int cs = 1; cs < n; cs++)
    if (a[cs] != a[cs - 1]) {
      swap(a[cs], a[cs - 1]);
      if (check_solution()) {
        ans = cs;
        break;
      }
      swap(a[cs], a[cs - 1]);
    }
  if (ans == -1)
    cout << -1 << endl;
  else
    cout << ans << " " << ans + 1 << endl;
  return 0;
}
int main() {
  cin >> n;
  for (int cs = 0; cs < n; cs++) {
    scanf("%d", &tmp_value);
    a[cs] = tmp_value;
  }
  if (!check())
    cout << -1 << endl;
  else
    solve();
  return 0;
}
