Cod sursa(job #2510845)

Utilizator OctavianVasileVasileOctavian OctavianVasile Data 17 decembrie 2019 16:15:41
Problema Matrice5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("matrice5.in");
ofstream fout ("matrice5.out");
#define MOD 10007
int N, M, K, P, T;
long long lgput (int A, int pow){
    long long ans = 1;
    while (pow != 0){
        if (pow % 2 == 1){
            ans = ((ans % MOD) * A) % MOD;
            pow --;
        }
        else{
            A = ((A % MOD) * A) % MOD;
            pow /= 2;
        }
    }
    return ans;
}
int main (){
    fin >> T;
    for (int i = 1; i <= T; i ++){
        fin >> N >> M >> P >> K;
        fout << ((lgput (P * K, (N - 1) * (M - 1)) % MOD) * lgput (P, N + M - 1)) % MOD << '\n';
    }
    return 0;
}