#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using P = pair<int, int>;
const int INF = 1e9;
const long long LINF = 1e18;
const long long MOD = 1e9 + 7;
long long SOD(long long n) {
  long long sum = 0;
  while (n > 0) {
    sum += n % 10;
    n /= 10;
  }
  return sum;
}
signed main() {
  int k;
  cin >> k;
  vector<ll> cand;
  for (int i = 0; i < 1000; i++) {
    string t;
    for (int j = 0; j <= 15; j++) {
      cand.emplace_back(stoll(to_string(i) + t));
      t.push_back('9');
    }
  }
  sort((cand).begin(), (cand).end());
  reverse((cand).begin(), (cand).end());
  vector<ll> ans;
  double mn = LINF;
  for (ll n : cand) {
    double t = (double)n / (double)SOD(n);
    if (t <= mn) ans.emplace_back(n);
    mn = min(mn, t);
  }
  sort((ans).begin(), (ans).end());
  for (int i = 0; i < (k); i++) {
    cout << ans[i] << endl;
  }
  return 0;
}
