#include <bits/stdc++.h>
using namespace std;
long long pf[10000001];
int gcd(int a, int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
void prime() {
  memset(pf, 0, 10000001);
  pf[0] = pf[1] = 1;
  for (long long i = 2; i < 10000001; i++) {
    if (pf[i] == 0) {
      for (long long j = i * i; j < 10000001; j = j + i) pf[j] = 1;
    }
  }
}
int lcm(int a, int b) { return a * b / gcd(a, b); }
int check_ps(long long n) {
  double sqrt_n = sqrt(n);
  if (sqrt_n == int(sqrt_n)) {
    return 1;
  } else {
    return 0;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n;
  cin >> n;
  int a[n];
  map<int, int> m;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    m[a[i]] = i;
  }
  bool first = true;
  for (int i = 0; i < n && first; i++) {
    for (int j = 0; j < n && first && j != i; j++) {
      if (m.find(a[i] + a[j]) != m.end()) {
        first = false;
        cout << m[a[i] + a[j]] + 1 << " " << j + 1 << " " << i + 1 << endl;
        break;
      }
    }
  }
  if (first) cout << -1 << endl;
  return 0;
}
