a的b次方
int qmi(int a, int b) {
int ret = 1;
while (b) {
if (b & 1) ret *= a;
b >>= 1;
a *= a;
}
return ret;
}
#include <iostream>
using namespace std;
typedef long long ll;
ll fun(ll a, ll b, ll k) {
ll ret = 1;
while (b) {
if (b % 2 == 1) ret = (ret * a) % k;
b >>= 1;
a = a * a % k;
}
return ret;
}
int main() {
int t;
cin >> t;
while (t--) {
ll a, b, k;
cin >> a >> b >> k;
cout << fun(a, b, k) << endl;
}
return 0;
}