{-# OPTIONS_GHC -O2 -funbox-strict-fields #-}
import           Data.List (unfoldr)

main :: IO ()
main = do
  n <- readLn
  putStr . unlines . map show $ solve n

solve :: Int -> [Int]
solve k = take k $ unfoldr f (0, 1) where
  f (n, b) = Just (n', (n', b')) where
    n' = n + b'
    b' = if check (n + b) b then b else b * 10


s :: Int -> Int
s = sum . unfoldr f where
  f 0 = Nothing
  f x = Just (x `mod` 10, x `div` 10)

check :: Int -> Int -> Bool
check n b = n * s (n + b) <= s n * (n + b)
