Pagini recente » Cod sursa (job #2975117) | Cod sursa (job #447965) | Cod sursa (job #170538) | Cod sursa (job #749109) | Cod sursa (job #964412)
Cod sursa(job #964412)
#include <cstdio>
using namespace std;
int t, n, m, p, k, prim;
long long rez;
long long putere (int b, int x)
{
long long a;
if (x == 0)
return 1;
a = putere (b, x/2);
if (x %2 == 0)
return (a * a) % prim;
return (a * a * b) % prim;
}
int main ()
{
freopen("matrice5.in", "r", stdin);
freopen("matrice5.out","w",stdout);
prim = 10007;
for (scanf("%d", &t); t; t--)
{
scanf("%d%d%d%d", &n, &m, &p, &k);
rez = putere(p*k, (n-1)*(m-1));
rez %= prim;
rez *= putere (p, n+m - 1);
rez %= prim;
printf ("%lld\n", rez);
}
return 0;
}