#include <bits/stdc++.h>
const int MAX_N = 200050;
long long A[MAX_N];
long long K;
long long AC[MAX_N];
long long func_S(long long n) {
  long long ret = 0;
  while (true) {
    ret = ret + n % 10;
    n = n / 10;
    if (n == 0) {
      break;
    }
  }
  return ret;
}
int main(int argc, char **argv) {
  std::cin >> K;
  long long t = 0;
  long long tmp1 = 1;
  long long tmp2 = 0;
  while (true) {
    for (int i = 1; i <= 9; i++) {
      if (i <= tmp2 - 2) {
        for (int j = 0; j <= 8; j++) {
          long long ret = tmp1 * i + (tmp1 / 10) * j + (tmp1 / 10 - 1);
          std::cout << ret << std::endl;
          t++;
          if (t == K) {
            return 0;
          }
        }
      }
      long long ret = tmp1 * i + (tmp1 - 1);
      std::cout << ret << std::endl;
      t++;
      if (t == K) {
        return 0;
      }
    }
    tmp1 = tmp1 * 10;
    tmp2++;
  }
  return 0;
}
