#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int sum(ll n) {
  int ans = 0;
  while (n) {
    ans += n % 10;
    n /= 10;
  }
  return ans;
}
ll update(ll m) {
  string sn = to_string(m);
  int bk = 0;
  for (int i = (sn.size() - 1) - 1; i >= 0; i--) {
    if (sn[i] == '9')
      continue;
    else {
      sn[i] = '9';
      bk = 1;
      break;
    }
  }
  if (bk == 0) {
    if (sn[0] != '9') {
      string b;
      b.push_back(sn[0]);
      sn[0] = to_string(1 + stoi(b))[0];
    } else {
      sn = '1' + sn;
    }
  }
  return stoll(sn);
}
ll snuke(ll n) {
  ll m = update(n);
  ;
  vector<pair<ll, ll>> ans;
  for (int(i) = 0; (i) < (3); (i)++) {
    pair<ll, ll> P = make_pair((double)m / sum(m), m);
    ans.push_back(P);
    m = update(m);
  }
  sort(ans.begin(), ans.end());
  return ans[0].second;
}
int main() {
  int K;
  cin >> K;
  ll ans = 1;
  cout << 1 << endl;
  for (int(i) = 0; (i) < (K - 1); (i)++) {
    ans = snuke(ans);
    cout << ans << endl;
  }
  return 0;
}
