#include <cstdio>
#include <iostream>
using namespace std;
const int N = 1145;
const long long MOD = 1e9 + 7;
int n;
long long a;
long long b;
long long ans;
long long pow (long long a, long long n) {
long long res = 1;
while (n) {
if (n & 1) {
res = res * a % MOD;
}
a = a * a % MOD;
n >>= 1;
}
return res;
}
int main () {
freopen ("01.in", "r", stdin);
freopen ("01.out", "w", stdout);
cin >> n;
int num;
for (int i = 1; i <= n; i++) {
cin >> num;
a += num;
}
b = n - a;
a = pow (2, a);
b = pow (2, b);
ans = pow ((a + b) % MOD, n);
cout << ans << endl;
return 0;
}