#include <bits/stdc++.h>
using namespace std;
long long memo[1000001];
long long digitsum(long long n) {
  if (n < 100001 && memo[n] != 0) return memo[n];
  long long ret = 0;
  while (n > 0) {
    ret += n % 10;
    n /= 10;
  }
  return memo[n] = ret;
}
long long up;
long long next_snuke(long long n) {
  if (n < 9)
    n++;
  else if (n == 9)
    n = 19;
  else if (n < 19)
    n++;
  else if (n == 19)
    n = 199;
  else if (n < 999)
    n += 100;
  else if (n == 999) {
    n = 1099;
    up = 10;
  } else {
    int dig = to_string(n).size();
    if (up == 99) {
      up = 9;
      dig++;
    }
    up++;
    long long upp = up;
    long long ret = 0;
    for (int i = 0; i < dig - 2; i++) {
      ret *= 10;
      ret += 9;
      upp *= 10;
    }
    ret += upp;
    return ret;
  }
  return n;
}
int main(void) {
  int k;
  cin >> k;
  long long nowsnuke = 1;
  for (int i = 0; i < k; i++) {
    cout << nowsnuke << endl;
    nowsnuke = next_snuke(nowsnuke);
  }
  return 0;
}
