Pagini recente » Cod sursa (job #2201274) | Cod sursa (job #2215387) | Rating Alexandru Ovidiu Marius (pring_alexandru) | Cod sursa (job #2428031) | Cod sursa (job #2018060)
#include <cstdio>
using namespace std;
const int MOD = 10007;
long long int r2p(int x, int n)
{
long long int sol = 1;
long long int a = x;
while(n > 0) {
if(n % 2 == 1) {
sol *= a;
sol %= MOD;
}
n /= 2;
a *= a;
}
return sol;
}
int main()
{
int T, n, m, k, p;
freopen("matrice5.in","r",stdin);
freopen("matrice5.out","w",stdout);
scanf("%d", &T);
for(int q = 0;q < T; ++q) {
scanf("%d%d%d%d", &n, &m, &p, &k);
printf("%lld\n", (r2p(k, (n - 1) * (m - 1)) * r2p(p, n * m)) % MOD);
}
return 0;
}