Pagini recente » Cod sursa (job #2889665) | Cod sursa (job #2476909) | Cod sursa (job #2639817) | Cod sursa (job #1485138) | Cod sursa (job #2586581)
#include<stdio.h>
#include<limits.h>
#define M 1999999973
int main()
{
unsigned long long int n,p,x,i,y;
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%llu%llu",&x,&n);
y=1UL;p=1UL;
n%=M;
x%=M;
//for(i=1;i<=p;i++) x*=n;
while(p<=n) p*=2;
do {
p/=2;
y*=y;
y%=M;
if(n>=p){
n-=p;
y=y*x;
y=y%M;
}
}while(p>1);
if(!y) y=ULONG_MAX;
printf("%llu",y%M);
return 0;
}