p :: [Int] p = [ x | y <- [900..999], z <- [y..999], let x = y * z, let s = show x, s == reverse s ] pe4 :: Int pe4 = maximum p main :: IO() main = print $ pe4