Pagini recente » Cod sursa (job #2798557) | Cod sursa (job #1545750) | Cod sursa (job #138622) | Cod sursa (job #3178929) | Cod sursa (job #2629796)
// Copyright 2020 Nichita Radu <[email protected]>
#include <bits/stdc++.h>
#define MOD 1999999973
class Task {
int N, P;
long long res;
void read_input() {
std::ifstream fin("lgput.in");
fin >> N;
fin >> P;
fin.close();
}
long long exponential (int n, int p) {
if (p == 0) {
return 1;
}
if (p % 2 == 0) {
auto tmp = exponential(n, p / 2);
return ((tmp % MOD) * (tmp % MOD) % MOD);
} else {
auto tmp = exponential(n, (p - 1 )/ 2);
return ((n * (tmp % MOD) % MOD) * (tmp % MOD) % MOD);
}
}
void get_result() {
res = exponential(N, P);
}
void print_output() {
std::ofstream fout("lgput.out");
fout << res;
fout.close();
}
public:
void solve() {
read_input();
get_result();
print_output();
}
};
int main() {
Task *task = new Task();
task->solve();
delete task;
return 0;
}