#include <bits/stdc++.h>
using namespace std;
template <class T>
inline bool rd(T &num) {
  char in;
  bool IsN = false;
  while (in = getchar(), in != '-' && (in < '0' || in > '9'))
    if (in == EOF) return false;
  in == '-' ? (IsN = true, num = 0) : num = in - '0';
  while (in = getchar(), in >= '0' && in <= '9') num = num * 10 + in - '0';
  return IsN ? num = -num : num, true;
}
string nico;
const int maxn = 3e3 + 7;
const int inf = 0x3f3f3f3f;
const long long Linf = ((long long)inf << 32) | inf;
const int mod = 1e9 + 7;
const double eps = 1e-11;
set<long long> ans;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  for (register int i = (1); i < (100); i++) ans.insert(i);
  for (register int i = (10); i < (19); i++) ans.erase(i);
  ans.insert(199);
  long long now = 109;
  for (register int i = (0); i < (14); i++) {
    now = now * 10 + 9;
    ans.insert(now);
  }
  int k;
  cin >> k;
  set<long long>::iterator p = ans.begin();
  for (int i = 0; i < k; i++) {
    cout << *p << endl;
    p++;
  }
  return 0;
}
