Pagini recente » Diferente pentru problema/treap intre reviziile 45 si 30 | Cod sursa (job #2691152) | Cod sursa (job #1068976) | Cod sursa (job #311731) | Cod sursa (job #181429)
Cod sursa(job #181429)
#include <stdio.h>
#define MOD 1999999973ll
int main() {
long long N, P, t, r, mask;
freopen( "lgput.in", "r", stdin );
freopen( "lgput.out", "w", stdout );
scanf( "%lld%lld", &N, &P );
for( t = N, r = mask = 1; mask <= P; mask <<= 1, t = (t*t) % MOD )
if( mask & P )
r = (r * t) % MOD;
printf( "%lld\n", r );
return 0;
}