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