#include using namespace std; typedef long long ll; const ll mod = 1000000007; int main() { int N; cin >> N; ll A[N]; bool flag = false; for (int i = 0; i < N; i++) { cin >> A[i]; if (A[i] == 0) flag = true; } if (flag) { cout << "-1\n"; return 0; } ll ans = 1; int cnt = 0; for (int i = 0; i < N; i++) { for (int j = 1; j <= A[i]; j++) { for (int k = 1; k <= j; k++) { ans *= A[i]; cnt++; if (ans > mod) goto out; } } } out:{} cout << (mod % ans) << "\n"; return 0; }