#include <bits/stdc++.h>
int diff[4][2] = {
    {0, -1},
    {-1, 0},
    {1, 0},
    {0, 1},
};
int Min(int a, int b) { return (a) < (b) ? (a) : (b); }
long long Max(long long a, long long b) { return (a) > (b) ? (a) : (b); }
void Swap(int *a, int *b) {
  int tmp = *a;
  *a = *b;
  *b = tmp;
}
void printCul(long long n) {
  long long tmp = n;
  long long s = 0;
  while (tmp) {
    s += tmp % 10;
    tmp /= 10;
  }
}
int main() {
  long long a;
  scanf("%lld", &a);
  for (int i = 1, i_len = (int)(9); i <= i_len; i++) {
    printf("%d\n", (i));
  }
  long long cnt = 9;
  for (int i = 1, i_len = (int)(15); i <= i_len; i++) {
    for (int j = 1, j_len = (int)(9); j <= j_len; j++) {
      for (int k = 0, k_len = (int)(10); k < k_len; k++) {
        long long tmp = j;
        if (i != 1) {
          tmp *= 10;
          tmp += k;
        }
        for (int l = 0, l_len = (int)(i); l < l_len; l++) {
          tmp *= 10;
          tmp += 9;
        }
        printf("%lld\n", (tmp));
        if (++cnt == a) return 0;
        if (i == 1) break;
      }
    }
  }
}
