Pagini recente » Borderou de evaluare (job #1223051) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #2970950) | Cod sursa (job #3350474)
#include <fstream>
using namespace std;
ifstream in("matrice5.in");
ofstream out("matrice5.out");
const int MOD=10007;
int lgpow(int a, int b)
{
if(b==0)
return 1;
int p=lgpow(a, b/2);
if(b%2)
return p*p%MOD*a%MOD;
return p*p%MOD;
}
int main()
{
int t, n, m, p, k; in>>t;
while(t--)
{
in>>n>>m>>p>>k;
out<<lgpow(k, (n-1)*(m-1))*lgpow(p, n*m)%MOD<<'\n';
}
return 0;
}