#include
using namespace std;
long long t,n,k,ans,lg,eq;
const long long p=1000000007;
long long poww(long long a,long long x,long long mod){
long long ans=1,base=a;
while(x>0){
if(x%2==1)
ans=(ans*base)%mod;
base=(base*base)%mod;
x/=2;
}
return ans;
}
int main()
{
cin>>t;
while(t--){
cin>>n>>k;
lg=0;
eq=1;
for(int i=1;i<=k;i++){
lg=(lg*poww(2,n,p)%p+eq*((n+1)%2))%p;
eq=eq*(p+poww(2,n-1,p)+(n%2?1:-1))%p;
}
ans=(lg+eq)%p;
cout<<



