#include <bits/stdc++.h>
using namespace std;
double cal(string sn) {
  long long n = stoll(sn.c_str());
  int s = 0;
  for (int i = 0; i < sn.length(); i++) {
    s += sn[i] - '0';
  }
  return (double)n / s;
}
long long findSn(long long n) {
  string sn = to_string(n);
  if (sn[0] == '9') {
    ++n;
    sn = to_string(n);
  }
  int len = sn.length();
  if (len == 1 && n != 9) {
    return n + 1;
  }
  priority_queue<pair<double, long long> > pq;
  for (int i = len - 1; i >= 0; i--) {
    while (sn[i] != '9') {
      sn[i]++;
      double s = cal(sn);
      pq.push(make_pair(s * -1, stoll(sn)));
    }
  }
  return pq.top().second;
}
int main() {
  ios::sync_with_stdio(false);
  long long K, ans = 0;
  cin >> K;
  while (K--) {
    ans = findSn(ans);
    cout << ans << endl;
  }
  cout << ans;
  return 0;
}
