#include <bits/stdc++.h>
using namespace std;
uint64_t GetSum(uint64_t remain) {
  uint64_t sum = 0;
  while (0 < remain) {
    sum += remain % 10;
    remain /= 10;
  }
  return sum;
}
uint64_t GetKeta(uint64_t N) {
  uint64_t ret = 0;
  while (10 <= N) {
    N /= 10;
    ret++;
  }
  return ret;
}
int main() {
  uint64_t K;
  cin >> K;
  uint64_t count = 0;
  uint64_t i = 1;
  do {
    if (i < 10) {
      cout << i << endl;
      count++;
    } else {
      uint64_t const keta = GetKeta(i);
      uint64_t const max = pow(10, keta);
      uint64_t const sum = GetSum(i);
      if (max <= sum) {
        cout << i << endl;
        count++;
      }
    }
    i++;
  } while (count < K);
  return 0;
}
