#include <bits/stdc++.h>
const int MAX_P = 17;
int64_t p10[MAX_P];
int get(int64_t x, int offset) { return x / p10[offset] % 10; }
int64_t succeed(int64_t x) {
  if (x == 9) return 19;
  int position = 0;
  while (get(x, position) == 9) position++;
  return x + p10[position];
}
int main() {
  p10[0] = 1;
  for (int i = 1; i < MAX_P; i++) p10[i] = p10[i - 1] * 10;
  int n;
  scanf("%d", &n);
  int64_t last = 1;
  for (int i = 0; i < n; i++) {
    printf("%lld\n", last);
    last = succeed(last);
  }
  return 0;
}
