import Control.Applicative
import Data.List

getInt :: IO Int
getInt = (\a -> read a :: Int) <$> getLine

getInteger :: IO Integer
getInteger = (\a -> read a :: Integer) <$> getLine

getListInt :: IO [Int]
getListInt = ((map (\a -> read a :: Int)) . words) <$> getLine

getListInteger :: IO [Integer]
getListInteger = ((map (\a -> read a :: Integer)) . words) <$> getLine

putNum :: Integer -> Integer -> Integer -> IO ()
putNum n diff end
    | end == 0 = return () :: IO ()
    | div n diff == 10 = putNum (n - diff + diff * 10) (diff * 10) (end - 1)
    | otherwise = do
        print n
        putNum (n + diff)  diff (end - 1)


main = do
    n <- getInteger
    putNum 1 1 (n + 1)
    
