#include <bits/stdc++.h>
using namespace std;
const long long int LINF = 1001002003004005006ll;
const int INF = 1001001001;
const int MOD = 1000000007;
int main() {
  vector<long long int> snuke;
  for (int d = 0; d < (16); ++d) {
    long long int r = pow(10, d);
    for (int k = 1; k < 10; ++k) {
      snuke.push_back(r * k + r - 1);
    }
  }
  long long int a = LINF;
  int b = 1;
  auto calc = [](long long int x) {
    string s = to_string(x);
    int res = 0;
    for (char c : s) {
      res += c - '0';
    }
    return res;
  };
  int len = (int)(snuke).size();
  for (int i = (len)-1; i >= 0; --i) {
    if (snuke[i] * b > a * calc(snuke[i])) {
      continue;
    }
    a = snuke[i];
    b = calc(snuke[i]);
  }
  int K;
  cin >> K;
  for (int i = 0; i < (K); ++i) {
    cout << snuke[i] << endl;
  }
  return 0;
}
