#include <bits/stdc++.h>
int digit_sums(long long n) {
  int sum = 0;
  while (1) {
    sum += n % 10;
    if (n / 10 == 0) return sum;
    n /= 10;
  }
}
int main() {
  int s;
  double a;
  std::vector<long long> sunuke;
  long long max_k = 1000000000000000;
  double min = double(max_k);
  for (long long n = max_k; n >= 1; n--) {
    s = digit_sums(n);
    a = double(n) / s;
    if (a <= min) {
      sunuke.push_back(n);
      min = a;
    }
  }
  int k;
  std::cin >> k;
  for (int i = sunuke.size(); i > sunuke.size() - k; i--) {
    std::cout << sunuke[i - 1] << std::endl;
  }
  return 0;
}
