/* Code by
__ __ __
/\ \__ /\ \ /\ \
__ _ __\ \ ,_\ \ \ \___ __ ___\ \ \/'\
/'__`\ /\`'__\ \ \/ \ \ _ `\ /'__`\ /'___\ \ , <
/\ \L\.\_\ \ \/ \ \ \_ \ \ \ \ \/\ \L\.\_/\ \__/\ \ \\`\
\ \__/.\_\\ \_\ \ \__\ \ \_\ \_\ \__/.\_\ \____\\ \_\ \_\
\/__/\/_/ \/_/ \/__/ _______\/_/\/_/\/__/\/_/\/____/ \/_/\/_/
/\______\
\/______/
*/
#include <bits/stdc++.h>
using namespace std;
#define max(a, b) (a < b? b : a)
#define min(a, b) ((a>b)?b:a)
#define FOR(a,c) for ( int (a)=0; (a)<(c); (a)++)
#define FORL(a,b,c) for ( int (a)=(b); (a)<=(c); (a)++)
#define FORR(a,b,c) for ( int (a)=(b); (a)>=(c); (a)--)
typedef unsigned long long int ll;
typedef vector<int> vi;
typedef pair<int,int> pi;
#define F first
#define S second
#define PB push_back
#define POB pop_back
#define MP make_pair
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
ll mod[100001]={0};
ll T;
cin>>T;
while(T--){
ll A,N,P;
cin>>A>>N>>P;
ll amodp = A%P;
mod[0] = amodp;
FOR(i,N){
if(i!=0)
mod[i] = ((mod[i-1]%P)*(amodp%P))%P;
}
ll sum = 1;
FOR(i,N)
sum = ((sum%P)*(mod[i]%P))%P;
cout<<sum<<endl;
}
return 0;
}
LyogQ29kZSBieQogICAgICAgICAgICAgICBfXyAgICAgICAgICAgIF9fICAgICAgICAgICAgICAgICAgICAgICBfXyAgICAgICAgIAogICAgICAgICAgICAgIC9cIFxfXyAgICAgICAgL1wgXCAgICAgICAgICAgICAgICAgICAgIC9cIFwgICAgICAgIAogICBfXyAgICAgXyBfX1wgXCAsX1wgICAgICAgXCBcIFxfX18gICAgICBfXyAgICAgIF9fX1wgXCBcLydcICAgIAogLydfX2BcICAvXGAnX19cIFwgXC8gICAgICAgIFwgXCAgXyBgXCAgLydfX2BcICAgLydfX19cIFwgLCA8ICAgIAovXCBcTFwuXF9cIFwgXC8gXCBcIFxfICAgICAgICBcIFwgXCBcIFwvXCBcTFwuXF8vXCBcX18vXCBcIFxcYFwgIApcIFxfXy8uXF9cXCBcX1wgIFwgXF9fXCAgICAgICAgXCBcX1wgXF9cIFxfXy8uXF9cIFxfX19fXFwgXF9cIFxfXAogXC9fXy9cL18vIFwvXy8gICBcL19fLyAgX19fX19fX1wvXy9cL18vXC9fXy9cL18vXC9fX19fLyBcL18vXC9fLwogICAgICAgICAgICAgICAgICAgICAgICAvXF9fX19fX1wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICBcL19fX19fXy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoqLwoKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbWF4KGEsIGIpIChhIDwgYj8gYiA6IGEpCiNkZWZpbmUgbWluKGEsIGIpICgoYT5iKT9iOmEpCiNkZWZpbmUgRk9SKGEsYykgICBmb3IgKCBpbnQgKGEpPTA7IChhKTwoYyk7IChhKSsrKQojZGVmaW5lIEZPUkwoYSxiLGMpICBmb3IgKCBpbnQgKGEpPShiKTsgKGEpPD0oYyk7IChhKSsrKQojZGVmaW5lIEZPUlIoYSxiLGMpICBmb3IgKCAgaW50IChhKT0oYik7IChhKT49KGMpOyAoYSktLSkKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IGxsOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwp0eXBlZGVmIHBhaXI8aW50LGludD4gcGk7CiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCiNkZWZpbmUgUEIgcHVzaF9iYWNrCiNkZWZpbmUgUE9CIHBvcF9iYWNrCiNkZWZpbmUgTVAgbWFrZV9wYWlyCgppbnQgbWFpbigpIHsKaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CmNpbi50aWUoMCk7CgpsbCBtb2RbMTAwMDAxXT17MH07CgpsbCBUOwpjaW4+PlQ7CndoaWxlKFQtLSl7CiAgICBsbCBBLE4sUDsKICAgIGNpbj4+QT4+Tj4+UDsKCiAgICBsbCBhbW9kcCA9IEElUDsKICAgIG1vZFswXSA9IGFtb2RwOwogICAgRk9SKGksTil7CiAgICAgICAgaWYoaSE9MCkKICAgICAgICAgICAgbW9kW2ldID0gKChtb2RbaS0xXSVQKSooYW1vZHAlUCkpJVA7CiAgICB9CgogICAgbGwgc3VtID0gMTsKICAgIEZPUihpLE4pCiAgICAgICAgc3VtID0gKChzdW0lUCkqKG1vZFtpXSVQKSklUDsKCiAgICBjb3V0PDxzdW08PGVuZGw7Cn0KcmV0dXJuIDA7Cn0=