output_description: Print K lines. The i-th line should contain the i-th smallest Snuke number.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      K
attempt: def ii():
      return int(input())
  
  
  def lii():
      return list(map(int, input().split(" ")))
  
  
  def lvi(N):
      l = []
      for _ in range(N):
          l.append(ii())
      return l
  
  
  def lv(N):
      l = []
      for _ in range(N):
          l.append(input())
      return l
  
  
  def S(n):
      return sum(map(int, str(n)))
  
  
  def snuke(n):
      return n / S(n)
  
  
  def main():
      K = ii()
      snuke_list = list(range(1, 10))
  
      for n in range(1, 17):
          c = 1
          while True:
              if snuke(10**n * c - 1) < snuke(10**n * (c + 1) - 1):
                  if not 10**n * c - 1 in snuke_list:
                      snuke_list.append(10**n * c - 1)
                  c += 1
              else:
                  break
  
      snuke_list = sorted(snuke_list)
      for i in range(K):
          print(snuke_list[i])
  
  
  if __name__ == "__main__":
      main()
  
problem_description: Statement
  
  Let S(n) denote the sum of the digits in the decimal notation of n. For
  example, S(123) = 1 + 2 + 3 = 6.
  
  We will call an integer n a **Snuke number** when, for all positive integers m
  such that m > n, \frac{n}{S(n)} \leq \frac{m}{S(m)} holds.
  
  Given an integer K, list the K smallest Snuke numbers.
samples: [{"input": "10", "output": "1\n    2\n    3\n    4\n    5\n    6\n    7\n    8\n    9\n    19"}]