#include #define be(v) (v).begin(),(v).end() #define pb(q) push_back(q) #define rep(i, n) for(int i=0;i> n; bool ok = false, ok0 = 0; vector a(n); rep(i, n){ cin >> a[i]; if(a[i] == 0) ok0 = true; } if(ok0) { cout << -1 << endl; return 0; } ll ans = 1; rep(i, n){ if(a[i] == 2){ ans *= 4; }else if(a[i] == 3){ ans *= 9*9*9; }else if(a[i] >= 4){ ok = true; } if(ans > mod) ok = true; if(ok){ cout << mod << endl; return 0; } } cout << mod % ans << endl; return 0; }