#include <bits/stdc++.h>
int sumDigit(unsigned long long N) {
  unsigned long long SN = 0;
  while (N) {
    SN += N % 10;
    N /= 10;
  }
  return SN;
}
unsigned long long powInt(unsigned long long base, unsigned long long power) {
  int result = 1;
  while (power != 0) {
    result *= base;
    power--;
  }
  return result;
}
int main(void) {
  unsigned long long K;
  scanf("%d", &K);
  unsigned long long i;
  if (K < 10) {
    for (i = 1; i <= K; i++) {
      printf("%d\n", i);
    }
    return 0;
  } else {
    for (i = 1; i <= 9; i++) {
      printf("%d\n", i);
    }
  }
  i = 9;
  unsigned long long before = 9;
  unsigned long long result, result1;
  unsigned long long d;
  unsigned long long max_d;
  result = 9;
  max_d = (unsigned long long)(log10l(before) + 1);
  do {
    result =
        pow(10, 1) * (unsigned long long)((result + 1) / pow(10, 1) + 1) - 1;
    for (d = 1; d <= max_d; d++) {
      result1 = pow(10, d + 1) *
                    (unsigned long long)((result + 1) / pow(10, d + 1) + 1) -
                1;
      result = ((result) / sumDigit(result) < result1 / sumDigit(result1))
                   ? (result)
                   : result1;
    }
    printf("%d\n", result);
    i++;
  } while (i < K);
  return 0;
}
