Pagini recente » Cod sursa (job #100960) | Cod sursa (job #1471676) | Cod sursa (job #1252314) | Cod sursa (job #2180980) | Cod sursa (job #1521142)
#include <stdio.h>
const long int mod = 1999999973;
long int n, p, res = 1, v[50], i, k;
int main()
{
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
scanf("%ld%ld", &n, &p);
v[0] = n;
for (i = 1, k = 2; k <= p; i++, k *= 2) {
v[i] = ((long long)v[i - 1] * v[i - 1]) % mod;
}
for (; i >= 0; i--, k /= 2) {
if (p >= k) {
res = ((long long)res * v[i]) % mod;
p -= k;
}
}
printf("%ld", res);
return 0;
}