//题意: 给定1 <= a , b , c <= 1e9 , 求 a ^ b ^ c % 1e9 + 7 ;(a 的 b 次方的 c 次方) ;
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std ;
typedef long long LL ;
LL qmi(LL a , LL b , LL p)
{
LL res = 1 ;
while(b)
{
if(b & 1) res = res * a % p;
b >>= 1 ;
a = a * a % p ;
}
return res ;
}
bool check(LL a , LL b , LL p)
{
LL res = 1 ;
while(b)
{
if(b & 1) res = res * a ;
if(res >= p) return true ;
b >>= 1 ;
a = a * a;
}
return false ;
}
int main()
{
int t ;
cin >> t ;
LL mod = 1e9 + 7 ;
LL fmod = 1e9 +6;//mod的欧拉函数值
while(t--)
{
LL a , b , c ;
scanf("%lld%lld%lld",&a,&b,&c) ;
if(__gcd(a , mod) == 1)
{
cout << qmi(a , qmi(b , c , fmod) , mod) << endl ;
}
else
{
if(check(b , c , mod))// b >= fmod
cout << qmi(a , qmi(b , c , fmod) , mod) * qmi(a , fmod , mod) % mod << endl ;
else
cout << qmi(a , qmi(b , c , mod) , mod) << endl ;
}
}
return 0 ;
}