function snuke(k)
  local snuke = 0
  local tmp = k
  while(0 < tmp) do
    local a = tmp % 10
    snuke = snuke + a
    tmp = (tmp - a) / 10
  end
  return k / snuke
end

k = io.read("*n")
dig = 0
cnt = 0
min = 1
while(cnt <= k) do
  for i = 1, 9 do
    v = i
    for j = 1, dig do
      v = v * 10 + 9
    end
    snk = snuke(v)
    if(min <= snk) then
      cnt = cnt + 1
      min = snk
      print(v)
      if(cnt == k) then break end
    end
  end
  dig = dig + 1
end
