#include <bits/stdc++.h>
using namespace std;
vector<long long> ans;
vector<long long> snk;
long long now = 1, k, countn = 0;
int main() {
  long long i, j;
  cin >> k;
  for (i = 0; i <= 15; i++) {
    for (j = 0; j <= 150; j++) {
      ans.push_back((j + 1) * now - 1);
    }
    now *= 10;
  }
  sort(ans.begin(), ans.end());
  for (i = 0; i < ans.size(); i++) {
    long long nk = ans[i], nks = 0;
    while (nk > 0) {
      nks += nk % 10;
      nk /= 10;
    }
    now = (long double)ans[i] / nks;
    snk.push_back(now);
  }
  for (i = 1; i < ans.size(); i++) {
    if (ans[i] == ans[i - 1]) continue;
    for (j = i + 1; j < ans.size(); j++) {
      if (snk[i] > snk[j]) break;
      if (j == ans.size() - 1) {
        cout << ans[i] << endl;
        countn++;
        if (k == countn) break;
      }
    }
    if (k == countn) break;
  }
  return 0;
}
