Pagini recente » Cod sursa (job #1339699) | Cod sursa (job #2702987) | Cod sursa (job #760109) | Cod sursa (job #834712) | Cod sursa (job #2089546)
#include <fstream>
using namespace std;
ifstream in ("matrice5.in");
ofstream out ("matrice5.out");
int const mod=10007;
int lgpow(int a,int b)
{
if (b==0)
return 1;
else if (b==1)
return a;
else
{
int result=lgpow(a,b/2);
if (b%2==0)
{
return (1LL*result*result)%mod;
}
else
return (1LL*result*result*a)%mod;
}
}
int main()
{
int n,m,k,p,t,i;
in>>t;
for (i=1; i<=t; i++)
{
in>>n>>m>>p>>k;
int result=lgpow((k*p)%mod,(n-1)*(m-1));
result = (1LL * result *lgpow(p,n+m-1))%mod;
out<<result<<'\n';
}
return 0;
}