#include <bits/stdc++.h>
double snuke(long int a);
int main(void) {
  int k, i = 0;
  long int t;
  long int *p;
  scanf("%d", &k);
  p = (long int *)malloc(sizeof(long int) * (k + 5));
  while (i <= k) {
    if (i < 9) {
      i++;
      *(p + i) = i;
    } else {
      t = ((i + 2) % 10 + 1) * pow(10, (i + 2) / 10) - 1;
      if (snuke(t) >= snuke(*(p + i))) i++;
      *(p + i) = t;
    }
  }
  for (i = 1; i <= k; i++) printf("%ld\n", *(p + i));
  free(p);
  return 0;
}
double snuke(long int a) {
  long int b = a, c = 0;
  while (b != 0) {
    c += b % 10;
    b /= 10;
  }
  return (double)a / c;
}
