import Data.Foldable import Control.Monad import Control.Monad.Instances monkeyNum :: Integer -> Integer monkeyNum = foldMap ((^ 5) . read . (:[])) . show isMonkey :: Integer -> Bool isMonkey = monkeyNum >>= (==) main :: IO () main = print $ sum $ filter isMonkey [10..99999]