Pagini recente » Cod sursa (job #2983852) | Cod sursa (job #2738772) | Cod sursa (job #2081009) | Cod sursa (job #734593) | Cod sursa (job #1188162)
#include <cstdio>
#include <assert.h>
#define MODVAL 1999999973
unsigned long long lgput(unsigned long long n, unsigned long long p)
{
if (p == 1)
return n;
unsigned long long rc = lgput(n, p / 2);
if (p % 2 == 0)
return (rc * rc) % MODVAL;
else
return (rc * rc * n) % MODVAL;
}
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;
}