Submission #19345

#TimeUsernameProblemLanguageResultExecution timeMemory
19345shjgkwoΑ (kriii4_P1)C++98
100 / 100
0 ms1084 KiB
#include <stdio.h>
#define MOD 1000000007
int main() {
	long long n, m;
	bool o[66];
	int e = 0;
	scanf("%lld", &n);
	scanf("%lld", &m);
	while (m > 0) {
		o[e++] = m & 1;
		m >>= 1;
	}
	n %= MOD;
	long long ans = 1;
	while (e--) {
		ans *= ans;
		ans %= MOD;
		if (o[e]) {
			ans *= n;
			ans %= MOD;
		}
	}
	printf("%lld", ans);
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...