summaryrefslogtreecommitdiff
path: root/math/modExp.cpp
blob: f738268b2071dfc3f27b0e38d62eadb17b7dbd53 (plain)
1
2
3
4
5
6
7
ll modPow(ll b, ll e, ll p) {
	if (e == 0) return 1;
	if (e == 1) return b;
	ll half = modPow(b, e / 2, p), res = (half * half) % p;
	if (e & 1) res *= b; res %= p;
	return res;
}