Cod sursa(job #1564152)
Utilizator | Data | 8 ianuarie 2016 18:24:14 | |
---|---|---|---|
Problema | Matrice5 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <cstdio>
#define mod 10007
using namespace std;
long long ridiclaputere(long long f, int exp)
{
long long rez=1;
while(exp)
{
if(exp%2==0)
{
f=(f*f)%mod;
exp/=2;
}
else{
rez=(rez*f)%mod;
exp--;
}
}
return rez;
}
int main()
{
freopen("matrice5.in","r",stdin);
freopen("matrice5.out", "w", stdout);
int i, t, n, m, p, k;
scanf("%d", &t);
for(i=1;i<=t;i++)
{
scanf("%d%d%d%d", &n, &m, &p, &k);
printf("%lld\n", (ridiclaputere(k, (n-1)*(m-1))*ridiclaputere(p, n*m))%mod);
}
return 0;
}