#include <bits/stdc++.h>
static inline int ri() {
  int a;
  scanf("%d", &a);
  return a;
}
static inline int64_t rs64() {
  int64_t a;
  scanf("%" SCNd64, &a);
  return a;
}
static inline void wi(int a) { printf("%d", a); }
static inline void wu64(uint64_t a) { printf("%" PRIu64, a); }
int main() {
  int64_t k = rs64();
  for (int i = 0; i < 9 && i < k; i++) {
    printf("%d\n", i + 1);
  }
  k -= 9;
  if (k > 0) {
    int fill_9 = 0;
    int64_t base = 1;
    while (1) {
      bool break_flag = false;
      for (int i = 1; i < 10; i++) {
        for (int j = 0; j < 10; j++) {
          if (fill_9 == 13 && i == 1 && j == 0) {
            for (int i = 0; i < 10; i++)
              wu64((100 + i + 1) * (base / 10) - 1), printf("\n");
            ;
            continue;
          } else if (j != 9 && (i * 10 + j) >= (i + j + 9 * fill_9))
            continue;
          wu64((uint64_t)base * (i * 10 + j + 1) - 1);
          printf("\n");
          k--;
          if (!k) {
            break_flag = true;
            break;
          }
        }
        if (break_flag) break;
      }
      if (break_flag) break;
      base *= 10;
      fill_9++;
    }
  }
  return 0;
}
