Pagini recente » Cod sursa (job #2354422) | Cod sursa (job #2167157) | Cod sursa (job #1225221) | Cod sursa (job #107694) | Cod sursa (job #2089505)
#include <fstream>
using namespace std;
ifstream cin("matrice5.in");
ofstream cout("matrice5.out");
const long long mod=10007;
long long expow(long long a,long long b)
{
long long sol=1;
for(int i=0;(1LL<<i)<=b;i++)
{
if(b&(1LL<<i))
sol=sol*a%mod;
a=a*a%mod;
}
return sol;
}
long long t,n,m,p,k;
int main()
{
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>n>>m>>p>>k;
long long sol1=expow(k*p%mod,(n-1)*(m-1));
long long sol2=expow(p,n+m-1);
cout<<sol1*sol2%mod<<"\n";
}
return 0;
}