Pagini recente » Cod sursa (job #2900722) | Cod sursa (job #981165) | Atasamentele paginii Profil HrincaRobert | Diferente pentru problema/polig intre reviziile 52 si 2 | Cod sursa (job #706681)
Cod sursa(job #706681)
#include <cstdio>
#define MAX 1999999973
int main()
{
freopen("lgput.in","rt",stdin);
freopen("lgput.out","wt",stdout);
long long n,a,y=1,x,k,step;
scanf("%lld %lld",&a,&n);
while(n)
{
x=a;
for(step=1,k=0;step<=n;step<<=1,k++);
k--;
step>>=1;
for(long i=1;i<=k;i++)
x*=x,x%=MAX;
n-=step;
y*=x,y%=MAX;
}
printf("%lld\n",y);
}