#include <stdio.h>
#define ll long long
ll pow(ll s, ll n, ll mod) {
ll res = 1;
while (n) {
while (n % 2 == 0) {
s = (s * s) % mod;
n /= 2;
}
res = (res * s) % mod;
n--;
}
return res;
}
ll C(ll m, ll n, ll mod) {
ll res = 1, t = 1, i;
for (i = 0; i < m; i++) {
res = res * (n - i) % mod;
t = t * (i + 1) % mod;
}
return res * pow(t, mod - 2, mod) % mod;
}
ll lukaer(ll m, ll n, ll mod) {
return m ? C(m % mod, n % mod, mod) * lukaer(m / mod, n / mod, mod) % mod : 1;
}
int main() {
ll n, m, p, t;
scanf("%lld", &t);
while (t--) {
scanf("%lld%lld%lld", &n, &m, &p);
printf("%lld\n", lukaer(m, n, p));
}
return 0;
}