#include <bits/stdc++.h>
using namespace std;
int S(long long n) {
  long long nn = n;
  int s = 0;
  while (nn > 0) {
    s += (nn % 10);
    nn = nn / 10;
  }
  return s;
}
double sunuke_(int n) {
  double ans = 0.0;
  ans = (double)n / (double)S(n);
  return ans;
}
int main() {
  long long LEN = 10000000;
  long long c;
  cin >> c;
  vector<double> List(LEN);
  vector<double> MinL(LEN, 0);
  for (long long i = 1; i < LEN; i++) {
    List[i] = sunuke_(i);
  }
  MinL[LEN - 1] = List[LEN - 1];
  for (long long i = LEN - 2; i > 0; i--) {
    if (MinL[i + 1] > List[i]) {
      MinL[i] = List[i];
    } else {
      MinL[i] = MinL[i + 1];
    }
  }
  long long count = 0;
  for (long long i = 1; i < LEN; i++) {
    if (MinL[i] == List[i]) {
      printf("%lld\n", i);
      count++;
      if (c == count) {
        break;
      }
    }
  }
  return 0;
}
