#include <bits/stdc++.h>
using namespace std;
struct Data {
  long long u;
  int sum;
  Data(long long u = 0, int sum = 0) : u(u), sum(sum) {}
  bool operator<(const Data &d) const {
    long long a = (long long)u * d.sum, b = (long long)d.u * sum;
    if (a != b) return a > b;
    return u > d.u;
  }
};
priority_queue<Data> que;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
  for (int i = 1; i <= 9; i++) que.emplace(i, i);
  int K;
  cin >> K;
  while (K--) {
    auto cur = que.top();
    que.pop();
    cout << cur.u << "\n";
    for (int d = 0; d < 10; d++) que.emplace(cur.u * 10 + d, cur.sum + d);
  }
  return 0;
}
