Cod sursa(job #2850349)
Utilizator | andrei iorgulescu andreiiorgulescu | Data | 16 februarie 2022 17:28:50 |
---|---|---|---|
Problema | Matrice5 | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("matrice5.in");
ofstream out("matrice5.out");
long long modulo = 10007;
long long lgput(long long a,long long b)
{
long long ans = 1;
while (b != 0)
{
if (b % 2 == 1)
ans = ans * a % modulo;
b /= 2;
a = a * a % modulo;
}
return ans;
}
int main()
{
long long n,m,k,p,t;
in >> t;
for (int i = 1; i <= t; i++)
{
in >> n >> m >> p >> k;
out << lgput(p * k,(n - 1) * (m - 1)) * lgput(p,n + m - 1) % modulo << '\n';
}
return 0;
}