#include <bits/stdc++.h>
using namespace std;
vector<pair<long long, int> > v;
bool cmp(pair<long long, int>& x, pair<long long, int>& y) {
  if (x.first * y.second == y.first * x.second) return x.first < y.first;
  return x.first * y.second < y.first * x.second;
}
int K;
int main() {
  cin >> K;
  v.push_back({0, 0});
  for (int i = 0; i < 16; i++) {
    long long digit = 1, sum = 0;
    for (int j = 0; j < i; j++, digit *= 10) {
      sum += digit * 9;
    }
    for (int j = 0; j < 100; j++) {
      v.push_back({j * digit + sum, j % 10 + j / 10 % 10 + j / 100 + 9 * i});
    }
  }
  sort(v.begin(), v.end(), cmp);
  long long high = 0;
  for (auto& p : v) {
    if (p.first > high) {
      cout << p.first << '\n';
      high = p.first;
      K--;
      if (K == 0) return 0;
    }
  }
  return 0;
}
