#include <bits/stdc++.h>
using namespace std;
const long long int INF = 1e15;
const long long int MOD = 1e9 + 7;
double snuke(long long int n) {
  long long int m = n;
  long long int s = 0;
  while (m != 0) {
    s += m % 10;
    m /= 10;
  }
  return (double)n / s;
}
signed main() {
  long long int k;
  cin >> k;
  vector<long long int> a;
  for (long long int i = 0; i < (15); ++i) {
    for (long long int j = 1; j < 150; j++) {
      long long int x = j;
      for (long long int k = 0; k < (i); ++k) {
        x *= 10;
        x += 9;
      }
      a.push_back(x);
    }
  }
  sort(a.begin(), a.end());
  vector<bool> sn((long long int)a.size(), true);
  for (long long int i = 0; i < ((long long int)a.size()); ++i) {
    for (long long int j = i + 1; j < (long long int)a.size(); j++) {
      if (snuke(a[i]) > snuke(a[j])) {
        sn[i] = false;
      }
    }
  }
  vector<long long int> ans;
  for (long long int i = 0; i < ((long long int)a.size()); ++i) {
    if (sn[i]) {
      ans.push_back(a[i]);
    }
  }
  for (long long int i = 0; i < (k); ++i) {
    cout << ans[i] << endl;
  }
  return 0;
}
