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; }