Cod sursa(job #674774)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 6 februarie 2012 18:52:23
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <cstdio>

using namespace std;

#define mod 10007

int t, n, m, p, k;

int lgput(int nr, int exp)
{
    if(exp==0)
        return 1;
    int aux=lgput(nr, exp/2);
    if(exp%2==1)
        return (1LL*aux*aux*nr)%mod;
    return (aux*aux)%mod;
}


int main()
{
    freopen("matrice5.in", "r", stdin);
    freopen("matrice5.out", "w", stdout);

    scanf("%d", &t);
    while(t--)
    {
        scanf("%d%d%d%d", &n, &m, &p, &k);
        printf("%d\n", lgput((p*k)%mod, (n-1)*(m-1))*lgput(p, n+m-1)%mod);
    }

    return 0;
}