#include <bits/stdc++.h>
using namespace std;
long long int s(long long int n) {
  long long int res = 0;
  while (n > 0) {
    res += n % 10;
    n /= 10;
  }
  return res;
}
long long int snuke(long long int n) { return n / s(n); }
int main() {
  long long int k;
  cin >> k;
  long long int K = 1000000000000000LL;
  int digit = to_string(K).length();
  int top = atoi(to_string(K).substr(0, 4).c_str());
  vector<long long int> res;
  long long int s = LLONG_MAX;
  while (digit > 6) {
    while (top >= 100) {
      std::ostringstream oss;
      oss << std::setw(digit) << std::setfill('9') << std::left
          << to_string(top);
      long long int a = atol(oss.str().c_str());
      long long int _s = snuke(a);
      if (_s <= s) {
        s = _s;
        res.push_back(a);
      }
      top--;
    }
    top = 999;
    digit--;
  }
  for (int i = 999999LL; i > 0; i--) {
    long long int a = snuke(i);
    if (a <= s) {
      s = a;
      res.push_back(i);
    }
  }
  sort(res.begin(), res.end());
  for (int i = 0; i < k; i++) cout << res[i] << endl;
}
