1 typedef long long LL;
2 const int N = 200005;
3
4 bool prime[N];
5 int p[N];
6 int cnt;
7
8 void isprime()
9 {
10 cnt = 0;
11 memset(prime,true,sizeof(prime));
12 for(int i=2; i)
13 {
14 if(prime[i])
15 {
16 p[cnt++] = i;
17 for(int j=i+i; ji)
18 prime[j] = false;
19 }
20 }
21 }
22
23 LL quick_mod(LL a,LL b,LL m)
24 {
25 LL ans = 1;
26 a %= m;
27 while(b)
28 {
29 if(b & 1)
30 {
31 ans = ans * a % m;
32 b--;
33 }
34 b >>= 1;
35 a = a * a % m;
36 }
37 return ans;
38 }
39
40 LL Work(LL n,LL p)
41 {
42 LL ans = 0;
43 while(n)
44 {
45 ans += n / p;
46 n /= p;
47 }
48 return ans;
49 }
50
51 LL Solve(LL n,LL m,LL P)
52 {
53 LL ans = 1;
54 for(int i=0; i)
55 {
56 LL x = Work(n, p[i]);
57 LL y = Work(n - m, p[i]);
58 LL z = Work(m, p[i]);
59 x -= (y + z);
60 ans *= quick_mod(p[i],x,P);
61 ans %= P;
62 }
63 return ans;
64 }
65
66 int main()
67 {
68 int T;
69 isprime();
70 cin>>T;
71 while(T--)
72 {
73 LL n,m,P;
74 cin>>n>>m>>P;
75 n += m - 2;
76 m--;
77 cout<endl;
78 }
79 return 0;
80 }