Pagini recente » Cod sursa (job #835919) | Cod sursa (job #296587) | Cod sursa (job #113175) | Cod sursa (job #1563806) | Cod sursa (job #1726284)
#include<stdio.h>
#define Q 1999999973
int main()
{
FILE *inputFile = fopen("lgput.in", "r"), *outputFile = fopen("lgput.out", "w");
long long n,p,x=1;
fscanf(inputFile, "%lld %lld", &n, &p);
if(p==0)
{
fprintf(outputFile, "%d", 1);
return 0;
}
while(p>1)
if(p%2==0)
{
n=(n*n)%Q;
p=p/2;
}
else if(p%2==1)
{
x=(x*n)%Q;
n=(n*n)%Q;
p=(p-1)/2;
}
fprintf(outputFile,"%lld", (n*x)%Q);
return 0;
}