#include <bits/stdc++.h>
using namespace std;
static const double EPS = 1e-9;
static const double PI = acos(-1.0);
long long n;
long long c[500];
long long g[500];
void greedy(long long num) {
  for (int i = 0; i < (int)(n); i++) {
    g[i] = num / c[i];
    num %= c[i];
  }
}
int main() {
  cin >> n;
  long long ans = 100000000000000LL;
  for (int i = 0; i < (int)(n); i++) {
    cin >> c[i];
  }
  for (int i = (1); i < (int)(n); i++) {
    for (int j = (i); j < (int)(n); j++) {
      long long w = 0;
      long long mcnt = 0;
      long long gcnt = 0;
      memset((g), 0, sizeof(g));
      greedy(c[i - 1] - 1);
      for (int k = (0); k <= (int)(j); k++) {
        w += g[k] * c[k];
        mcnt += g[k];
      }
      w += c[j];
      mcnt++;
      memset((g), 0, sizeof(g));
      greedy(w);
      for (int k = 0; k < (int)(n); k++) {
        gcnt += g[k];
      }
      if (mcnt < gcnt) {
        ans = min(ans, w);
      }
    }
  }
  if (ans != 100000000000000LL) {
    cout << ans << endl;
  } else {
    cout << -1 << endl;
  }
}
