isSuitable :: Int -> Bool isSuitable n = (elem '3' . show) n || mod n 3 == 0 solve :: [Int] -> [Int] solve [a, b] = [n | n <- [a .. b], isSuitable n] main :: IO () main = putStr . unlines . map show . solve . map read . words =<< getLine