Pagini recente » Cod sursa (job #950424) | Cod sursa (job #1966799) | Cod sursa (job #2079566) | Cod sursa (job #2616784) | Cod sursa (job #2644932)
#include <bits/stdc++.h>
using namespace std;
ifstream in("matrice5.in");
ofstream out("matrice5.out");
const int mod=10007;
int power(int a,int b)
{
int ans=1;
while(b)
{
if(b&1) ans=(ans*a)%mod;
a=(a*a)%mod;
b>>=1;
}
return ans;
}
/// ----- nr de la 1 la k -----
/// o linie de lung n cu suma div cu k: k^(n-1)
/// o mat de dim n si m cu sume div cu k: k^((n-1)*(m-1)) =not= d
/// ----- nr de la 1 la p*k -----
/// o mat de dim n si m cu sume div cu k: d*(p^(n*m))
int main()
{
int tst,n,m,p,k;
in>>tst;
while(tst--)
{
in>>n>>m>>p>>k;
out<<(power(k,((n-1)*(m-1))%(mod-1))*power(p,(n*m)%(mod-1)))%mod<<'\n';
}
return 0;
}