一开始看错题还以为10的5次方。。。。 wa了
#include<iostream>
using namespace std;
typedef long long ll;
const ll mod=1000000007;
ll pow(ll n,ll m){
ll now=1,temp=n;
while(m){
if(m&1){
now=now*temp%mod;
}
temp=temp*temp%mod;
m>>=1;
}
return now;
}
int main(){
int t;
string n;
cin>>t;
while(t--){
cin>>n;
ll temp=0;
ll mod1=mod-1;
for(ll i=0;i<n.length();i++){
temp=(temp*10+(n[i]-'0'))%mod1;
}
cout<<pow(2,temp-1)%mod1<<endl;
}
return 0;
}