#include <bits/stdc++.h>
using namespace std;
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long n, i, o = -1;
  cin >> n;
  long long a[n + 1], x[n];
  for (i = 1; i <= n; i++) {
    cin >> a[i];
    x[i - 1] = a[i];
  }
  sort(a + 1, a + n + 1);
  if (n <= 3)
    o = 1;
  else {
    long long cd = a[2] - a[1];
    for (i = 3; i <= n; i++) {
      if (o == i - 1) {
        if (a[i] - a[i - 2] != cd) {
          o = -1;
          break;
        }
      } else {
        if (a[i] - a[i - 1] != cd) {
          if (o == -1)
            o = i;
          else {
            o = -1;
            break;
          }
        }
      }
    }
    if (i == n + 1 && o == -1)
      o = 1;
    else if (o == -1) {
      o = 2;
      cd = a[3] - a[1];
      for (i = 4; i <= n; i++) {
        if (o == i - 1) {
          if (a[i] - a[i - 2] != cd) {
            o = -1;
            break;
          }
        } else {
          if (a[i] - a[i - 1] != cd) {
            if (o == -1)
              o = i;
            else {
              o = -1;
              break;
            }
          }
        }
      }
      if (i == n + 1 && o == -1)
        o = 1;
      else if (o == -1) {
        o = 1;
        cd = a[3] - a[2];
        for (i = 4; i <= n; i++) {
          if (o == i - 1) {
            if (a[i] - a[i - 2] != cd) {
              o = -1;
              break;
            }
          } else {
            if (a[i] - a[i - 1] != cd) {
              if (o == -1)
                o = i;
              else {
                o = -1;
                break;
              }
            }
          }
        }
        if (i == n + 1 && o == -1) o = 1;
      }
    }
  }
  if (o == -1)
    cout << o << endl;
  else
    cout << (find(x, x + n, a[o]) - x) + 1 << endl;
}
