Pagini recente » Cod sursa (job #1044387) | Cod sursa (job #1777152) | Cod sursa (job #582370) | Cod sursa (job #1832025) | Cod sursa (job #1726355)
#include<stdio.h>
#define Q 1999999973
int main()
{
FILE *inputFile, *outputFile;
inputFile=fopen("lgput.in","r");
outputFile=fopen("lgput.out","w");
long long n, p, y=1;
fscanf(inputFile, "%lli", &n);
fscanf(inputFile, "%lli", &p);
if(p == 0)
{
fprintf(outputFile, "%lli", 1);
return 0;
}
while(p > 1)
{
if(p % 2 == 0)
{
n=(n*n)%Q;
p=p/2;
}
else
{
y=(y*n)%Q;
n=(n*n)%Q;
p=(p-1)/2;
}
}
fprintf(outputFile, "%lli", (y*n)%Q);
return 0;
}