#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;
int n,b,cnt0=0,cnt1=0,ans=0;
int ksm(int a,int b,int p){//a^b mod p
if(b==0)return 1;
int ans=1;
while(b){
if(b&1)ans=ans*a%p;
a=a*a%p;
b>>=1;
}
return ans;
}
signed main(){
freopen("01.in","r",stdin);freopen("01.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++){
cin>>b;
if(b==1)cnt1++;
else cnt0++;
}
ans=ksm(2,cnt1,mod)+ksm(2,cnt0,mod);
cout<<(ksm(ans,n,mod))%mod;
return 0;
}