#include <bits/stdc++.h>
using namespace std;
const long long N = 1e9 + 7;
const int n_max = 1e5 + 10;
void print() { cout << endl; }
template <class Head, class... Tail>
void print(Head&& head, Tail&&... tail) {
  cout << head;
  if (sizeof...(tail) != 0) cout << ' ';
  print(forward<Tail>(tail)...);
}
template <class T>
void print(vector<T>& vec) {
  for (auto& a : vec) {
    cout << a;
    if (&a != &vec.back()) cout << ' ';
  }
  cout << endl;
}
template <class T>
void print(vector<vector<T>>& df) {
  for (auto& vec : df) {
    print(vec);
  }
};
int main() {
  int k;
  cin >> k;
  int cnt = 0;
  vector<long long> res;
  long long tmp = 1;
  auto digit = [](long long x) {
    int res = 0;
    while (pow(10, res) <= x) res++;
    return res;
  };
  while (cnt < k) {
    res.push_back(tmp);
    int dig = digit(tmp);
    long long dig_ten = pow(10, dig - 1);
    if (tmp / dig_ten == 9) {
      tmp += dig_ten * 10;
      cnt++;
    } else {
      tmp += dig_ten;
      cnt++;
    }
  }
  print(res);
  return 0;
}
