Cod sursa(job #183349)

Utilizator Spike7d8Cristian Varvara Spike7d8 Data 21 aprilie 2008 23:00:43
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#ifdef WIN32
#define _CRT_SECURE_NO_WARNINGS
#endif

#include <cstdio>

#define MOD 1999999973

int main()
{
	freopen("lgput.in", "rt", stdin);
	freopen("lgput.out", "wt", stdout);

	int n, p;
	scanf("%d%d", &n, &p);

	long long sol = 1, r = n;
	for (int i = 0; p; i++)
	{
		if (p & (1 << i))
		{
			sol = (sol * r) % MOD;
			p -= 1 << i;
		}
		r = (r * r) % MOD;
	}

	printf("%lld\n", sol);

	return 0;
}