#include <iostream>
using namespace std;
long long p=1000000007;
long long re(long long a,long long b,long long c){
long long d=1;
a=a%c;
while(b){
if(b&1)
d=(a%c*(d%c))%c;
a=(a%c*(a%c))%c;
b>>=1;
}
return d%c;
}
int main(){
int t;
cin>>t;
while(t--){
long long a,b,c;
cin>>a>>b>>c;
long long d=re(b,c,p-1);
if(d==0){
d=p-1;
}
long long e=re(a,d,p);
cout<<e<<endl;
}
return 0;
}

京公网安备 11010502036488号