Pagini recente » Cod sursa (job #2284145) | Cod sursa (job #1158849) | Cod sursa (job #2085137) | Cod sursa (job #1406687) | Cod sursa (job #2240014)
#include <cstdio>
using namespace std;
int exp (int a, int b)
{
if(!b)
return 1;
else
{
int c=exp(a,b/2);
if(b%2==0)
return c*c%10007;
else
return c*c%10007*a%10007;
}
}
int main()
{
freopen("matrice5.in","r",stdin);
freopen("matrice5.out","w",stdout);
int n,m,p,k,t,rez;
scanf("%d",&t);
for(int i=1; i<=t; i++)
{
scanf("%d %d %d %d",&n,&m,&p,&k);
//p*k^(n-1)(m-1) * p^(n+m-1)
rez = exp(p*k, (n-1)*(m-1)) * exp(p, n+m-1) % 10007;
printf("%d\n",rez);
}
return 0;
}