Pagini recente » Cod sursa (job #1947743) | Cod sursa (job #432279) | Cod sursa (job #1223938) | Cod sursa (job #3144090) | Cod sursa (job #711512)
Cod sursa(job #711512)
#include <fstream>
using namespace std;
#define MOD 10007
inline int pwr2(int x,int y)
{ int z=(y<1)?0:pwr2(x,y/2); return (y==1) ? 1 : ( (y%2) ? ((z*z%MOD)*x)%MOD : (z*z%MOD ) ) ; }
int pwr(int x,int y)
{
if (y==0)
return 1;
else
{
int rez=pwr(x,y/2);
if (y%2!=0)
return ((x*rez)%MOD*rez)%MOD;
else
return (rez*rez)%MOD;
}
}
int main()
{
freopen("matrice5.in","r",stdin);
freopen("matrice5.out","w",stdout);
int T,N,M,P,K;
scanf("%d",&T);
for (int i=1;i<=T;++i)
{
scanf("%d%d%d%d",&N,&M,&P,&K);
printf("%d\n",(pwr(P,N*M)*pwr(K,(--N)*(--M)))%MOD);
}
return 0;
}