#include <bits/stdc++.h>
int main(int argc, char *argv[]) {
  int j = 0;
  double s[1000];
  while (19 + 10 * j <= 1099) {
    int x = 0, y = 19 + 10 * j;
    while (y > 0) {
      x += y % 10;
      y /= 10;
    }
    s[j] = (double)(19 + 10 * j) / (double)x;
    j++;
  }
  long long k;
  scanf("%lld", &k);
  for (int i = 0; i < ((9) > (k) ? (k) : (9)); i++) printf("%d\n", i + 1);
  k -= 9;
  for (int i = 0; i < j; i++) {
    int cnt = 0;
    for (int l = i + 1; l < j; l++) {
      if (s[i] <= s[l]) cnt++;
    }
    if (k > 0 && cnt == j - i - 1) {
      printf("%d\n", 19 + 10 * i);
      k--;
    }
    if (k <= 0) break;
  }
  long long d = 1;
  while (k > 0) {
    printf("%lld\n", (long long)1099 + (long long)100 * d);
    d++;
    k--;
  }
  return 0;
}
