fibonacci :: Integral a => a -> a -> [a] fibonacci a1 a2 = seq a1 $ a1 : fibonacci a2 (a1 + a2) main :: IO () main = print . (\n -> flip (!!) (n - 1) $ fibonacci 1 2) . read =<< getLine