#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using P = std::tuple<ll, ll>;
const int dx[8] = {-1, 1, 0, 0, -1, -1, 1, 1},
          dy[8] = {0, 0, -1, 1, -1, 1, -1, 1};
ll greedy(int digitSum) {
  ll res = 0, t = 1;
  while (digitSum > 0) {
    int n = min(digitSum, 9);
    res += t * n;
    digitSum -= n;
    t *= 10;
  }
  return res;
}
ll ns[15 * 9 + 1];
vector<ll> snukeNumbers;
int main() {
  std::cin.tie(nullptr);
  std::ios::sync_with_stdio(false);
  for (int i = 1; i <= 15 * 9; ++i) {
    ns[i] = greedy(i);
  }
  for (int i = 1; i <= 15 * 9; ++i) {
    bool isSnuke = true;
    for (int j = i + 1; j <= 15 * 9; ++j) {
      if (ns[i] * j > ns[j] * i) {
        isSnuke = false;
      }
    }
    if (isSnuke) {
      snukeNumbers.emplace_back(ns[i]);
    }
  }
  int K;
  std::cin >> K;
  for (int i = 0; i < K; ++i) {
    std::cout << snukeNumbers[i] << std::endl;
  }
}
