#include using namespace std; typedef long long int ll; constexpr ll mod=1e9+7; int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int n; cin >> n; vector a(n); bool zero=0; for(int i=0;i> a[i]; if(!a[i])zero=true; } if(zero){ printf("-1\n"); } else{ sort(a.rbegin(), a.rend()); if(a[0]>=4){ printf("%lld\n",mod); } else{ ll res=1; for(int i=0;imod){ printf("%lld\n",mod); return 0; } } } else if(a[i]==2){ for(int j=0;j<2;j++){ res*=a[i]; if(res>mod){ printf("%lld\n",mod); return 0; } } } } printf("%lld\n",mod%res); } } }