#include <bits/stdc++.h>
using namespace std;
const long long INF = ~0ULL >> 2;
const int MAXN = 1E6 + 10;
const char first[30][4] = {"1",   "2",   "3",   "4",   "5",   "6",   "7",
                           "8",   "9",   "19",  "29",  "39",  "49",  "59",
                           "69",  "79",  "89",  "99",  "199", "299", "399",
                           "499", "599", "699", "799", "899", "999"};
const char head[20][4] = {"10", "11", "12", "13", "14", "15", "16", "17", "18",
                          "19", "29", "39", "49", "59", "69", "79", "89", "99"};
int f[MAXN];
int main() {
  int k;
  scanf("%d", &k);
  for (int i = 1; i <= 27 && i <= k; ++i) {
    printf("%s\n", first[i - 1]);
  }
  for (int len = 2; 27 + (len - 3) * 18 <= k; ++len) {
    for (int i = 1; i <= 18 && 27 + (len - 2) * 18 + i <= k; ++i) {
      printf("%s", head[i - 1]);
      for (int j = 0; j < len; ++j) {
        printf("9");
      }
      printf("\n");
    }
  }
  return 0;
}
