Pagini recente » Borderou de evaluare (job #54273) | Diferente pentru summer-challenge-2009/solutii/runda-2 intre reviziile 4 si 3 | Cod sursa (job #2878547) | Cod sursa (job #224589) | Cod sursa (job #146404)
Cod sursa(job #146404)
#include <stdio.h>
#define in "lgput.in"
#define out "lgput.out"
#define modulo 1999999973
#define MOD(H) H%modulo
long long N, P;
long long Pow(int);
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%d%d", &N, &P);
printf("%d\n", Pow(P));
}
long long Pow(int C)
{
if ( C == 1 ) return MOD(N);
long long H = MOD(Pow(C/2));
if ( (C&1) ) return MOD(MOD(MOD(H)*MOD(H))*MOD(N));
else return MOD(MOD(H)*MOD(H));
}