Cod sursa(job #2129839)
Utilizator | andrei hodisan farmerjack | Data | 13 februarie 2018 10:14:28 |
---|---|---|---|
Problema | Matrice5 | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <bits/stdc++.h>
#define Q 10007
using namespace std;
ifstream fin("matrice5.in");
ofstream fout("matrice5.out");
int lgp(int x,int y)
{
if(y==1)
return x;
if(y==0)
return 1;
if(y%2==0)
return lgp(x*x%Q,y/2);
else
return x*(lgp(x*x%Q,(y-1)/2)%Q)%Q;
}
int main()
{
int t,n,m,p,k;
fin>>t;
while(t>0)
{
fin>>n>>m>>p>>k;
fout<<lgp((k*p)%Q,(n-1)*(m-1))*lgp(p,n+m-1)%Q<<endl;
t--;
}
return 0;
}