#include <bits/stdc++.h>
using namespace std;
vector<int> decompose(long long x) {
  vector<int> tmp;
  while (x) tmp.push_back(x % 10), x /= 10;
  return tmp;
}
long long to_number(vector<int> x) {
  long long tmp = 0;
  for (int i = x.size() - 1; ~i; --i) (tmp *= 10) += x[i];
  return tmp;
}
long long sum(long long x) {
  long long s = 0;
  while (x) s += x % 10, x /= 10;
  return s;
}
inline long long f(long long x) {
  vector<int> dx = decompose(x);
  double mn = 1e18;
  long long ne = -1;
  for (int i = 0; i < dx.size(); ++i) {
    for (int d = dx[i]; d <= 9; ++d) {
      vector<int> dy = dx;
      dy[i] = d;
      for (int j = 0; j < i; ++j) dy[j] = 9;
      long long y = to_number(dy), sy = sum(y);
      if ((double)y / sy < mn) mn = (double)y / sy, ne = y;
    }
  }
  return ne;
}
int k;
void solve() {
  long long s = 1;
  for (int i = 1; i <= k; ++i, s = f(s + 1)) cout << s << "\n";
}
int main() {
  ios::sync_with_stdio(0);
  cin >> k;
  solve();
  return 0;
}
