#include <bits/stdc++.h>
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, 1, 0, -1};
template <class T>
bool chmax(T& a, const T& b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T& a, const T& b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
using namespace std;
class D {
  int k;

 public:
  D() { cin >> k; }
  void solve() {
    if (k <= 9) {
      for (int i{0}; i < (int)(k); i++) cout << i + 1 << endl;
      return;
    }
    for (int i{0}; i < (int)(9); i++) cout << i + 1 << endl;
    ostringstream oss;
    oss << 1;
    for (int rank{10}; rank <= k; rank++) {
      oss << 9;
      cout << oss.str() << endl;
    }
  }
};
int main() {
  D solution;
  solution.solve();
  return 0;
}
