题面:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<string>
#include<map>
#define ll long long
using namespace std;
ll p;
ll mypow(ll a,ll b)
{
ll ans=1;
while(b)
{
if(b&1) ans=ans*a%p;
a=a*a%p;
b>>=1;
}
return ans%p;
}
ll C(ll n,ll m)
{
ll ans=1;
for(int i=1;i<=m;i++)
{
ans=(ans*(n-m+i))%p;
ans=(ans*mypow(i,p-2))%p;
}
return ans%p;
}
ll Lucas(ll n,ll m)
{
if(m==0) return 1;
return C(n%p,m%p)%p*Lucas(n/p,m/p)%p;
}
int main(void)
{
int t;
cin>>t;
while(t--)
{
ll k,n;
scanf("%lld%lld%lld",&n,&k,&p);
printf("%lld\n",Lucas(n+k,k));
}
return 0;
}