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: K = int(input())
  k = 0
  
  
  def is_snuke(n, first_non9):
      n_copy = n
      s_n = 0
      for dig in range(0, 16):
          s_n += n_copy % 10
          n_copy //= 10
      return n * (s_n + 1) <= (n + 10**first_non9) * s_n
  
  
  check = {}
  for first_non9 in range(0, 16):
      base = (10**first_non9) - 1
      for top in range(1, 10**9):
          if k >= K:
              import sys
  
              sys.exit()
          n = top * (10**first_non9) + base
          if is_snuke(n, first_non9):
              k += 1
              if n not in check:
                  print(n)
              check[n] = True
          else:
              break
  
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"}]