/*
AUTHOR : Chandan Agrawal
College : Poornima College of Engg. jaipur, Raj
Mail : chandanagrawal23@gmail.com
*/
#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
#define fastio ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define MAX 100050
#define ll long long
#define ld long double
#define lli long long int
#define pb emplace_back
#define INF 1000000000
#define mod 1000000007
// trignometric function always give value in Radians only
#define PI acos(-1) //3.1415926535897932384626433832795028
#define dsin(degree) sin(degree*(PI/180.0))
#define dcos(degree) cos(degree*(PI/180.0))
#define dtan(degree) tan(degree*(PI/180.0))
#define rsin(radian) sin(radian)
#define rcos(radian) cos(radian)
#define rtan(radian) tan(radian)
#define loop(i,n) for (lli i = 0; i < n; i++)
#define loopitr(xt,vec) for (auto xt : vec)
#define FOR(i,a,b) for (lli i = a; i < b; i+=1)
#define loop_rev(i,n) for (lli i = n-1; i >= 0; i--)
#define FOR_REV(i,a,b) for (lli i = a; i >= b; i--)
#define itr :: iterator it
#define WL(t) while(t --)
#define all(v) v.begin(),v.end()
#define sz(x) int(x.size())
#define F first
#define S second
#define mii map<lli,lli>
#define vi vector<lli>
#define seti set<lli>
#define pii pair<lli,lli>
#define gcd(a,b) __gcd((a),(b))
#define lcm(a,b) (a/gcd(a,b))*b
#define abs(x) ((x < 0)?-(x):x)
template <typename T>
void print(T x){cout<<x<<endl;}
template <typename T1, typename T2>
void print2(T1 x,T2 y){cout<<x<<" "<<y<<endl;}
template <typename T1, typename T2,typename T3>
void print3(T1 x, T2 y,T3 z){cout<<x<<" "<<y<<" "<<z<<endl;}
#define scanarr(a,n) for(lli i=0;i<n;i++) cin>>a[i];
#define scanvector(a,n) for(lli i=0;i<n;i++){ lli x ; cin>>x; a.pb(x);}
#define printarr(a,n) for(lli i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl;
#define printvector(vec) for(auto xt : vec) cout<<xt<<" "; cout<<"\n";
#define printset(st) for(auto xt : st) cout<<xt<<" "; cout<<"\n";
#define FD(N) fixed<<setprecision(N)
#define endl '\n'
#define deb(x) cout<<#x<<" "<<x<<endl;
// chandan1,2
void chandan1(){int y=1;return;}
void chandan2(){
loop(i,10){
lli x=1;
}
return(chandan1());
}
ll modmul(ll a, ll b) {
return ((a%mod) * (b%mod)) % mod;
}
ll modadd(ll a , ll b){
return((a%mod)+(b%mod)+mod)%mod;
}
ll modsub(ll a , ll b){
return((a%mod) - (b%mod) + mod)%mod;
}
lli fastexpo(lli a,lli b ,lli MOD = mod){
a = a%MOD;
lli ans=1;
while(b){
if(b&1)
ans=(ans*1ll*a)%MOD;
a=(a*1ll*a)%MOD;
b=b/2;
}
return ans;
}
int main(){
fastio
lli t=1;
cin>>t;
chandan2();
while(t--) {
lli a,b,c;
cin>>a>>b>>c;
print(fastexpo(a,fastexpo(b,c,mod-1)));
}
return 0;
}
LyoKQVVUSE9SIDogQ2hhbmRhbiBBZ3Jhd2FsCkNvbGxlZ2UgOiBQb29ybmltYSBDb2xsZWdlIG9mIEVuZ2cuIGphaXB1ciwgUmFqCk1haWwgOiBjaGFuZGFuYWdyYXdhbDIzQGdtYWlsLmNvbQoqLwoKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGU8c3RkaW8uaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgZmFzdGlvIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoMCk7Y291dC50aWUoMCk7CiNkZWZpbmUgTUFYIDEwMDA1MAoKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBsZCBsb25nIGRvdWJsZQojZGVmaW5lIGxsaSBsb25nIGxvbmcgaW50CgojZGVmaW5lIHBiIGVtcGxhY2VfYmFjawojZGVmaW5lIElORiAxMDAwMDAwMDAwCiNkZWZpbmUgbW9kIDEwMDAwMDAwMDcKCi8vIHRyaWdub21ldHJpYyBmdW5jdGlvbiBhbHdheXMgZ2l2ZSB2YWx1ZSBpbiBSYWRpYW5zIG9ubHkKI2RlZmluZSBQSSBhY29zKC0xKSAvLzMuMTQxNTkyNjUzNTg5NzkzMjM4NDYyNjQzMzgzMjc5NTAyOAojZGVmaW5lIGRzaW4oZGVncmVlKSBzaW4oZGVncmVlKihQSS8xODAuMCkpCiNkZWZpbmUgZGNvcyhkZWdyZWUpIGNvcyhkZWdyZWUqKFBJLzE4MC4wKSkKI2RlZmluZSBkdGFuKGRlZ3JlZSkgdGFuKGRlZ3JlZSooUEkvMTgwLjApKQoKI2RlZmluZSByc2luKHJhZGlhbikgc2luKHJhZGlhbikKI2RlZmluZSByY29zKHJhZGlhbikgY29zKHJhZGlhbikKI2RlZmluZSBydGFuKHJhZGlhbikgdGFuKHJhZGlhbikKCiNkZWZpbmUgbG9vcChpLG4pIGZvciAobGxpIGkgPSAwOyBpIDwgbjsgaSsrKQojZGVmaW5lIGxvb3BpdHIoeHQsdmVjKSBmb3IgKGF1dG8geHQgOiB2ZWMpCiNkZWZpbmUgRk9SKGksYSxiKSBmb3IgKGxsaSBpID0gYTsgaSA8IGI7IGkrPTEpCiNkZWZpbmUgbG9vcF9yZXYoaSxuKSBmb3IgKGxsaSBpID0gbi0xOyBpID49IDA7IGktLSkKI2RlZmluZSBGT1JfUkVWKGksYSxiKSBmb3IgKGxsaSBpID0gYTsgaSA+PSBiOyBpLS0pCiNkZWZpbmUgaXRyIDo6IGl0ZXJhdG9yIGl0CiNkZWZpbmUgV0wodCkgd2hpbGUodCAtLSkKCiNkZWZpbmUgYWxsKHYpIHYuYmVnaW4oKSx2LmVuZCgpCiNkZWZpbmUgc3ooeCkgaW50KHguc2l6ZSgpKQojZGVmaW5lIEYgZmlyc3QKI2RlZmluZSBTIHNlY29uZAoKI2RlZmluZSBtaWkgbWFwPGxsaSxsbGk+CiNkZWZpbmUgdmkgdmVjdG9yPGxsaT4KI2RlZmluZSBzZXRpIHNldDxsbGk+CiNkZWZpbmUgcGlpIHBhaXI8bGxpLGxsaT4KCiNkZWZpbmUgZ2NkKGEsYikgX19nY2QoKGEpLChiKSkKI2RlZmluZSBsY20oYSxiKSAoYS9nY2QoYSxiKSkqYgojZGVmaW5lIGFicyh4KSAoKHggPCAwKT8tKHgpOngpCgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kdm9pZCBwcmludChUIHgpe2NvdXQ8PHg8PGVuZGw7fQp0ZW1wbGF0ZSA8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPgp2b2lkIHByaW50MihUMSB4LFQyIHkpe2NvdXQ8PHg8PCIgIjw8eTw8ZW5kbDt9CnRlbXBsYXRlIDx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsdHlwZW5hbWUgVDM+CnZvaWQgcHJpbnQzKFQxIHgsIFQyIHksVDMgeil7Y291dDw8eDw8IiAiPDx5PDwiICI8PHo8PGVuZGw7fQoKI2RlZmluZSBzY2FuYXJyKGEsbikgZm9yKGxsaSBpPTA7aTxuO2krKykgICAgY2luPj5hW2ldOwojZGVmaW5lIHNjYW52ZWN0b3IoYSxuKSBmb3IobGxpIGk9MDtpPG47aSsrKXsgbGxpIHggOyBjaW4+Png7IGEucGIoeCk7fQoKI2RlZmluZSBwcmludGFycihhLG4pIGZvcihsbGkgaT0wO2k8bjtpKyspICAgY291dDw8YVtpXTw8IiAiOyBjb3V0PDxlbmRsOwojZGVmaW5lIHByaW50dmVjdG9yKHZlYykgZm9yKGF1dG8geHQgOiB2ZWMpIGNvdXQ8PHh0PDwiICI7ICAgIGNvdXQ8PCJcbiI7CiNkZWZpbmUgcHJpbnRzZXQoc3QpIGZvcihhdXRvIHh0IDogc3QpIGNvdXQ8PHh0PDwiICI7ICAgIGNvdXQ8PCJcbiI7CgojZGVmaW5lIEZEKE4pIGZpeGVkPDxzZXRwcmVjaXNpb24oTikKCiNkZWZpbmUgZW5kbCAnXG4nCgojZGVmaW5lIGRlYih4KSBjb3V0PDwjeDw8IiAiPDx4PDxlbmRsOwoKLy8gY2hhbmRhbjEsMgp2b2lkIGNoYW5kYW4xKCl7aW50IHk9MTtyZXR1cm47fQp2b2lkIGNoYW5kYW4yKCl7CiAgICAgICAgbG9vcChpLDEwKXsKICAgICAgICBsbGkgeD0xOwogICAgfQogICAgcmV0dXJuKGNoYW5kYW4xKCkpOwp9CgoKbGwgbW9kbXVsKGxsIGEsIGxsIGIpIHsKICAgIHJldHVybiAoKGElbW9kKSAqIChiJW1vZCkpICUgbW9kOwp9CgpsbCBtb2RhZGQobGwgYSAsIGxsIGIpewogICAgcmV0dXJuKChhJW1vZCkrKGIlbW9kKSttb2QpJW1vZDsKfQoKbGwgbW9kc3ViKGxsIGEgLCBsbCBiKXsKICAgIHJldHVybigoYSVtb2QpIC0gKGIlbW9kKSArIG1vZCklbW9kOwp9CgpsbGkgZmFzdGV4cG8obGxpIGEsbGxpIGIgLGxsaSBNT0QgPSBtb2QpewoKICAgIGEgPSBhJU1PRDsKCiAgICBsbGkgYW5zPTE7CgogICAgd2hpbGUoYil7CgogICAgICAgIGlmKGImMSkKICAgICAgICAgICAgYW5zPShhbnMqMWxsKmEpJU1PRDsKCiAgICAgICAgYT0oYSoxbGwqYSklTU9EOwoKICAgICAgICBiPWIvMjsKCiAgICAgICAgfQoKICAgIHJldHVybiBhbnM7CiB9CiAKCmludCBtYWluKCl7CmZhc3RpbwpsbGkgdD0xOwpjaW4+PnQ7CmNoYW5kYW4yKCk7CndoaWxlKHQtLSkgewogICAgbGxpIGEsYixjOwogICAgY2luPj5hPj5iPj5jOwogICAgcHJpbnQoZmFzdGV4cG8oYSxmYXN0ZXhwbyhiLGMsbW9kLTEpKSk7CgogIH0KcmV0dXJuIDA7Cn0K