Pagini recente » Cod sursa (job #3130671) | Cod sursa (job #1102268) | Cod sursa (job #836282) | Cod sursa (job #2315836) | Cod sursa (job #2281185)
#include <iostream>
using namespace std;
int N, P;
const long long R = 1999999973;
typedef long long ll;
ll logp(long long n, long long p) {
if (p == 0) {
return 1;
}
if (p == 1) {
return n % R;
}
if (p & 1) {
return (n * logp((n * n) % R, (p-1) / 2)) % R;
}
return logp((n * n) % R, p / 2);
}
int main() {
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
scanf("%d %d", &N, &P);
printf("%lld", logp(N, P));
return 0;
}