#include <bits/stdc++.h>
using namespace std;
struct test {
  int no;
  int val;
};
int compare_test(const void *a, const void *b);
int main() {
  int n;
  test *a;
  int i, j, k;
  int t;
  int ri, rj, rk;
  scanf("%d", &n);
  a = (test *)malloc(sizeof(test) * n);
  for (i = 0; i < n; i++) {
    scanf("%d", &a[i].val);
    a[i].no = i + 1;
  }
  qsort(a, n, sizeof(test), (int (*)(const void *, const void *))compare_test);
  ri = 0;
  rj = 0;
  rk = 0;
  for (i = 0; i < n - 2; i++) {
    for (j = i + 1; j < n - 1; j++) {
      for (k = j + 1; k < n; k++) {
        t = a[i].val + a[j].val - a[k].val;
        if (t < 0) break;
        if (t == 0) {
          ri = a[i].no;
          rj = a[j].no;
          rk = a[k].no;
          i = n;
          j = n;
          k = n;
          break;
        }
      }
    }
  }
  if (ri == 0) {
    printf("-1\n");
  } else {
    printf("%d %d %d\n", rk, rj, ri);
  }
  return 0;
}
int compare_test(const void *a, const void *b) {
  struct test *t = (struct test *)a;
  struct test *s = (struct test *)b;
  int r = t->val - s->val;
  return (r);
}
