12 lines
526 B
Text
12 lines
526 B
Text
main :: [sys_message]
|
|
main = [Stdout (show answer)]
|
|
where a = 2988348162058574136915891421498819466320163312926952423791023078876139
|
|
b = 2351399303373464486466122544523690094744975233415544072992656881240319
|
|
answer = modpow a b (10^40)
|
|
|
|
modpow :: num->num->num->num
|
|
modpow = mp 1
|
|
where mp r b 0 m = r
|
|
mp r b p m = mp r' ((b * b) mod m) (p div 2) m
|
|
where r' = (r * b) mod m, if p mod 2 = 1
|
|
r' = r, otherwise
|