#include <bits/stdc++.h>
using namespace std;
const long long LLINF = 9223372036854775807;
const int MOD = 1000000007;
int dsum(long long n) {
  int result = 0;
  while (n != 0) {
    result += n % 10;
    n /= 10;
  }
  return result;
}
int main() {
  int K;
  cin >> K;
  for (int i = 0; i < (int)min(K, 9); i++) {
    cout << i + 1 << endl;
  }
  if (K <= 9) return 0;
  K -= 9;
  double result = 9, digsum = 9;
  for (int i = 0; i < (int)K; i++) {
    long long r = result, d = digsum;
    for (int dig = 0; pow(10, dig) <= r; dig++) {
      long long tr = ceil(r / pow(10, dig + 1) + 1) * pow(10, dig + 1) - 1;
      long long td = 0;
      for (long long tmp = tr; tmp > 0; tmp /= 10) td += tmp % 10;
      if (dig == 0 || result * td >= tr * digsum) {
        result = tr;
        digsum = td;
      }
    }
    cout << result << endl;
  }
  return 0;
}
