Cod sursa(job #2490335)

Utilizator IulianOleniucIulian Oleniuc IulianOleniuc Data 10 noiembrie 2019 09:58:46
Problema Matrice5 Scor 100
Compilator cpp-64 Status done
Runda RoadToIOI #2 Marime 1.44 kb
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
//////////////////////// ACCES INTERZIS LA SURSA ////////////////////////
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////@Razvan////////////
/////////////////////////////////////////////////////////////////////////

#include <bits/stdc++.h>
using namespace std;

ifstream fin("matrice5.in");
ofstream fout("matrice5.out");

const int MOD = 10007;

int pwr(int x, int n) {
    if (!n)
        return 1;
    if (n & 1)
        return x * pwr(x * x % MOD, n >> 1) % MOD;
    return pwr(x * x % MOD, n >> 1);
}

int main() {
    int t; fin >> t;
    while (t--) {
        int m, n, p, k;
        fin >> m >> n >> p >> k;
        fout << pwr(k, (m - 1) * (n - 1)) * pwr(p, m * n) % MOD << '\n';
    }

    fout.close();
    return 0;
}