fib = [1, 1] ++ (zipWith (+) fib (tail fib)) fibBoundEven = [x | x <- takeWhile (<= 4000000) fib, (mod x 2 == 0)] main = do print (sum fibBoundEven)