#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
const int mod=1000000007;
int a[N],dp[N][N];
int main(){
int t;
cin >> t;
while(t--){
int n;cin >> n;
long long sum=0;
for(int i =1;i<=n;i++){
cin >> a[i];
sum+=a[i];
}
if(sum%2==1){
cout << 0<<endl;
continue;
}
memset(dp,0,sizeof(dp));
dp[0][0]=1;
dp[0][1]=0;
for(int i =1;i<=n;i++){
if(a[i]%2==0){
dp[i][0]+=dp[i-1][0]*2%mod;
dp[i][1]+=dp[i-1][1]*2%mod;
}
else{
dp[i][1]+=dp[i-1][0]+dp[i-1][1];
dp[i][0]+=dp[i-1][1]+dp[i-1][0];
}
dp[i][0]%=mod;
dp[i][1]%=mod;
}
cout << dp[n][0] <<endl;
}
return 0;
}
0 回复
0 转发
1 喜欢
1 阅读



