Cod sursa(job #891824)

Utilizator stephy_yoyoIonescu Stefania stephy_yoyo Data 25 februarie 2013 20:26:14
Problema Matrice5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>

using namespace std;

int t, n, m, p, k, prim;
long long rez;

long long putere (int b, int x)
{
    long long a;

    if (x == 0)
        return 1;

    a = putere (b, x/2);
    if (x %2 == 0)
         return (a * a) % prim;
    return (a * a * b) % prim;
}

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

    prim = 10007;

    for (scanf("%d", &t); t; t--)
    {
        scanf("%d%d%d%d", &n, &m, &p, &k);
        rez = putere(p*k, (n-1)*(m-1));
        rez %= prim;
        rez *= putere (p, n+m - 1);
        rez %= prim;
        printf ("%lld\n", rez);
    }

    return 0;
}