Pagini recente » Cod sursa (job #970490) | Cod sursa (job #786908) | Cod sursa (job #470433) | Cod sursa (job #1873582) | Cod sursa (job #1451014)
#include <iostream>
const int mod = 1999999973;
const char IN[] = "lgput.in", OUT[] = "lgput.out";
using namespace std;
int N, P;
inline void read_data() {
fscanf(fopen(IN, "r"), "%d %d", &N, &P);
}
int pow(int N, int P) {
if (P == 1) return N;
if (P == 0) return 1;
if (P % 2 == 0) {
int half = pow(N, P / 2) % mod;
return half * half % mod;
}
int half = pow(N, P / 2) % mod;
return half * N % mod * half % mod;
}
int main() {
read_data();
fprintf(fopen(OUT, "w"), "%d\n", pow(N, P));
return 0;
}