#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const long long mod = 1e9 + 7;
const int maxn = 1e6 + 5;
vector<long long> p;
void init() {
  priority_queue<long long, vector<long long>, greater<long long> > q;
  for (long long i = 1; i < 10; ++i) {
    p.push_back(i);
    q.push(p[i - 1]);
  }
  while (1) {
    long long now = q.top();
    q.pop();
    now = now * 10 + 9;
    if (now > 1000000000000000) break;
    p.push_back(now);
    q.push(now);
  }
  sort(p.begin(), p.end());
  p.push_back(1000000000000000);
}
int main() {
  init();
  int k;
  while (cin >> k) {
    int n = p.size();
    for (int i = 0; i < min(k, n); ++i) printf("%lld\n", p[i]);
  }
}
