Cod sursa(job #2089505)
| Utilizator | Data | 16 decembrie 2017 17:31:18 | |
|---|---|---|---|
| Problema | Matrice5 | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#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;
}
