Pagini recente » Cod sursa (job #2214589) | Cod sursa (job #2338313) | Cod sursa (job #1955176) | Cod sursa (job #1322697) | Cod sursa (job #2123298)
#include <fstream>
using namespace std;
ifstream f ("matrice5.in");
ofstream g ("matrice5.out");
int const mod=10007;
int n,m,k,p,t,i;
int ridica(int a,int b)
{
if ( b == 0 )
return 1;
else if ( b == 1 )
return a;
else
{
int result = ridica(a,b/2);
if ( b%2 == 0)
{
return (1LL*result*result)%mod;
}
else
return (1LL*result*result*a)%mod;
}
}
int main()
{
f >> t;
for ( i = 1 ; i <= t; i++)
{
f >> n >> m >> p >> k;
int result = ridica((k*p)%mod,(n-1)*(m-1));
result = (1LL * result *ridica(p,n+m-1))%mod;
g<<result<<'\n';
}
return 0;
}