Pagini recente » Cod sursa (job #2099801) | Cod sursa (job #199195) | Cod sursa (job #1325572) | Cod sursa (job #450759) | Cod sursa (job #542588)
Cod sursa(job #542588)
#include <cstdio>
#define L 100
#define x 1999999973
using namespace std;
void citeste();
void powlog();
void afiseaza();
int n,p;
short a[L];
unsigned long long sol=1;
void citeste()
{
freopen("lgput.in","r",stdin);
scanf("%d %d", &n, &p);
fclose(stdin);
}
void powlog()
{
while(p)
{
a[0]++;
if(p%2) a[a[0]]=1;
p/=2;
}
for(int i=a[0];i>=1;i--)
{
sol=(sol*sol)%x;
if(a[i]) sol=(sol*n)%x;
}
}
void afiseaza()
{
freopen("lgput.out","w",stdout);
printf("%lld",sol);
fclose(stdout);
}
int main()
{
citeste();
powlog();
afiseaza();
return 0;
}