#include <bits/stdc++.h>
using i32 = std::int_fast32_t;
using u32 = std::uint_fast32_t;
using i64 = std::int_fast64_t;
using u64 = std::uint_fast64_t;
using isize = std::ptrdiff_t;
using usize = std::size_t;
int main() {
  u32 k;
  std::cin >> k;
  std::vector<u64> snuke;
  snuke.reserve(k);
  for (u32 num = 1; num < 10; num++) snuke.push_back(num);
  u64 base = 19, plu = 10, value = 19, count = 0;
  while (snuke.size() < k) {
    snuke.push_back(value);
    if (++count == 9) {
      count = 0;
      base = (base * 10) + 9;
      value = base;
      plu *= 10;
    } else {
      value += plu;
    }
  }
  for (usize i = 0; i < k; i++) {
    std::cout << snuke[i] << '\n';
  }
}
