Cod sursa(job #1341624)
| Utilizator | Data | 12 februarie 2015 22:45:19 | |
|---|---|---|---|
| Problema | Matrice5 | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <stdio.h>
#define mod 10007
int t,n,m,p,k,shp;
long long put (long long baza , long long p )
{
if(p==1)
return baza%mod;
if(p%2==0)
return put((baza*baza)%mod,p/2);
else
return (baza*put((baza*baza)%mod,p/2))%mod;
}
int main()
{
freopen("matrice5.in","r",stdin);
freopen("matrice5.out","w",stdout);
scanf("%d",&t);
for(shp=1;shp<=t;shp++)
{
scanf("%d%d%d%d",&n,&m,&p,&k);
long long a=put(p*k,(n-1)*(m-1));
long long b=put(p,n+m-1);
printf("%lld\n",(a*b)%mod);
}
return 0;
}
