Pagini recente » Cod sursa (job #2315147) | Cod sursa (job #377344) | Cod sursa (job #838798) | Cod sursa (job #2739097) | Cod sursa (job #2240050)
#include <cstdio>
using namespace std;
int explog (int a, int b)
{
if(!b)
return 1;
else
{
int c=explog(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 = explog(p*k, (n-1)*(m-1)) * explog(p, n+m-1) % 10007;
printf("%d\n",rez);
}
return 0;
}