Pagini recente » Cod sursa (job #2234372) | Cod sursa (job #2396210) | Cod sursa (job #2269079) | Cod sursa (job #1186968) | Cod sursa (job #1188166)
#include <cstdio>
#include <assert.h>
#define MODVAL 1999999973
unsigned long long lgput(unsigned long long n, unsigned long long p)
{
unsigned long long rc;
if (p == 1)
return n;
rc = lgput(n, p / 2);
rc = (rc * rc) % MODVAL;
if (p % 2 == 1)
rc = (rc * n) % MODVAL;
return rc;
}
int main()
{
unsigned long long n, p;
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
scanf("%llu %llu", &n, &p);
printf("%llu\n", lgput(n, p));
return 0;
}