{-# LANGUAGE OverloadedStrings #-} import qualified Data.ByteString.Lazy.Char8 as B8 import Data.Ix(range) main :: IO () main = readLn >>= mapM_ (B8.putStrLn.fizzbuz).range.((,) 1) fizzbuz :: Int -> B8.ByteString fizzbuz i | i `mod` 15 == 0 = "FizzBuzz" | i `mod` 5 == 0 = "Buzz" | i `mod` 3 == 0 = "Fizz" | otherwise = B8.pack $ show i