/*将指数转化为2进制,实现快速幂的计算,注意两处数据可能溢出,设为long long
*/
#include <iostream>
using namespace std;
long long getmod(long long a,int b,int p){//计算 a的b次方mod(p)
long long ans=1;
a=a%p;
while(b!=0){
if(b%2==1){
ans*=a;
ans=ans%p;//ans可能会溢出
}
b/=2;
a*=a;//a可能溢出
a=a%p;
}
return ans;
}
int main() {
long long a;
int b, p, q;
scanf("%d",&q);
for(int i=0;i<q;i++){
scanf("%lld %d %d ",&a,&b,&p);
printf("%lld\n",getmod(a,b,p));
}
}

京公网安备 11010502036488号