#include <bits/stdc++.h>
int n;
int as[100002];
int num1[100002];
int num2[100002];
int stcheck(void) {
  int flg = 1;
  for (int i = 1; i < n; i++)
    if (as[i] > as[i - 1]) flg = 0;
  if (flg) return 0;
  flg = 1;
  for (int i = 1; i < n; i++)
    if (as[i] < as[i - 1]) flg = 0;
  if (flg) return 0;
  return 1;
}
int main() {
  int vl[3];
  int pls[3];
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%d", &as[i]);
  vl[0] = -1;
  vl[1] = -1;
  vl[2] = -1;
  int dsum = 0;
  for (int i = 0; i < n; i++) {
    int flg = 1;
    for (int j = 0; j < dsum; j++) {
      if (vl[j] == as[i]) flg = 0;
    }
    if (flg) {
      if (dsum < 3) {
        vl[dsum] = as[i];
        pls[dsum] = i;
        dsum++;
      }
    }
  }
  if (dsum == 3) {
    for (int i = 0; i < 3; i++) {
      for (int j = i + 1; j < 3; j++) {
        int kvl = as[pls[i]];
        as[pls[i]] = as[pls[j]];
        as[pls[j]] = kvl;
        if (stcheck()) {
          printf("%d %d\n", pls[i] + 1, pls[j] + 1);
          return 0;
        }
        kvl = as[pls[i]];
        as[pls[i]] = as[pls[j]];
        as[pls[j]] = kvl;
      }
    }
  }
  if (dsum == 2) {
    int nk1 = 0;
    int nk2 = 0;
    for (int i = 0; i < n; i++) {
      if (as[i] == vl[0]) {
        num1[nk1] = i;
        nk1++;
      } else {
        num2[nk2] = i;
        nk2++;
      }
    }
    if (nk1 > 2) {
      printf("%d %d\n", num1[1] + 1, num2[0] + 1);
      return 0;
    }
    if (nk2 > 2) {
      printf("%d %d\n", num2[1] + 1, num1[0] + 1);
      return 0;
    }
    for (int i = 0; i < n; i++) {
      for (int j = i + 1; j < n; j++) {
        if (as[i] != as[j]) {
          int kvl = as[i];
          as[i] = as[j];
          as[j] = kvl;
          if (stcheck()) {
            printf("%d %d\n", i + 1, j + 1);
            return 0;
          }
          kvl = as[i];
          as[i] = as[j];
          as[j] = kvl;
        }
      }
    }
  }
  printf("-1\n");
  return 0;
}
