#include using namespace std; #define rep(i,n) for(int i=0; i<(n); i++) #define INF ((1LL<<62)-(1LL<<31)) #define all(a) (a).begin(),(a).end() #define rall(a) (a).rbegin(),(a).rend() typedef long long ll; typedef pair pl; const ll mod=1000000007; ll modpow(ll n,ll r) { ll num=1; while(r) { if(r&1) num=num*n%mod; n=n*n%mod; r/=2; } return num; } int main() { ll n; cin >> n; vector a(n); ll tot=1; rep(i,n) { cin >> a[i]; if(a[i]==0) continue; tot*=a[i]; tot%=mod; } reverse(all(a)); ll ans=tot,num=2; if(a[0]!=0) { tot*=modpow(a[0],mod-2); tot%=mod; } else ans=0; for(int i=1;i