Pagini recente » Cod sursa (job #209963) | Cod sursa (job #831374) | Cod sursa (job #1182225) | Diferente pentru home intre reviziile 334 si 335 | Cod sursa (job #1524540)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long int n,p,v[51],i,k=1,P=1;
fin>>n>>p;
v[0]=n;
for(i=1;i<=40;i++)
{
v[i]=(v[i-1]*v[i-1])%1999999973;
}
i=0;
while(k<p)
{
k=k*2;
i++;
}
while(p>0)
{
if(k<p)
{
p=p-k;
P=(P*v[i])%1999999973;
}
k=k/2;
i--;
}
fout<<P;
return 0;
}