#include <bits/stdc++.h>
using namespace std;
double sunuke(long m) {
  char ch[16];
  int ii, len;
  int sum = 0;
  double sumd;
  sprintf(ch, "%ld", m);
  len = strlen(ch);
  for (ii = 0; ii < len; ii++) {
    sum += ch[ii] - '0';
  }
  sumd = sum;
  return m / sumd;
}
bool isSunuke(long m) {
  double sunu;
  long ii;
  sunu = sunuke(m);
  for (ii = 1; ii <= 10000; ii++) {
    if (sunu > sunuke(m + ii)) {
      return false;
    }
  }
  return true;
}
int main() {
  long k, cnt = 0;
  long first = 1, plus = 1, pn, nextLen, firstLen, next, cur;
  char curstr[30], nextstr[30];
  cin >> k;
  cur = 1;
  pn = 0;
  while (cnt < k && cur <= pow(10, 15)) {
    if (isSunuke(cur)) {
      cout << cur << endl;
      cnt++;
    }
    if (!isSunuke(cur + plus)) {
      pn++;
      plus = pow(10, pn);
    }
    cur += plus;
  }
  return 0;
}
