Pagini recente » Cod sursa (job #1689267) | Cod sursa (job #2715778) | Cod sursa (job #2580291) | Cod sursa (job #2595769) | Cod sursa (job #2469427)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("gcd.in");
ofstream fout("gcd.out");
long long putere(long long a , long long n , long long MOD)
{
long long p = 1;
while (n > 0)
{
if (n % 2 == 1) p = p * a % MOD;
n /= 2;
a = a * a % MOD;
}
return p;
}
int T , n , m , p;
int main()
{
fin >> T;
while(T--)
{
fin >> n >> m >> p;
int n_s = putere(2 , n , p) - 1;
int m_s = putere(2 , m , p) - 1;
fout << __gcd(n_s , m_s) % p << "\n";
}
return 0;
}