define p(n, e, m) { auto r for (r = 1; e > 0; e /= 2) { if (e % 2 == 1) r = n * r % m n = n * n % m } return(r) } a = 2988348162058574136915891421498819466320163312926952423791023078876139 b = 2351399303373464486466122544523690094744975233415544072992656881240319 p(a, b, 10 ^ 40)