#include<iostream>
using namespace std;
typedef pair<int,int>PII;
const int N=1e5+5,M=1e5+5,INF=0x3f3f3f3f,Mod=1e9+7;
const double eps=1e-8;
typedef long long ll;
ll a,b;
int n,p;
int ksm(int x,int y,int p){
int res=1;
while(y){
if(y&1)res=(ll)res*x%p;
x=(ll)x*x%p;
y>>=1;
}
return res;
}
int c(int a,int b,int p){
if(b>a)return 0;
int res=1;
for(int i=1,j=a;i<=b;++i,--j){
res=(ll)res*j%p;
res=(ll)res*ksm(i,p-2,p)%p;
}
return res;
}
int Lucas(ll a,ll b,int p){
if(a<p&&b<p)return c(a,b,p);
return (ll)c(a%p,b%p,p)*Lucas(a/p,b/p,p)%p;
}
int main(){
ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);
cin>>n;
while(n--){
cin>>a>>b>>p;
cout<<Lucas(a,b,p)<<'\n';
}
return 0;
}