#include <bits/stdc++.h>
using namespace std;
const int INF = (1 << 30);
const long long INFLL = 1LL << 62;
const long double EPS = 1e-12;
template <typename T>
void vec_print(vector<T> VEC) {
  for (int i = (0); i < (VEC.size()); ++i) {
    cout << VEC[i] << " ";
  }
  cout << "\n";
};
template <typename T>
void mat_print(vector<vector<T> > MAT) {
  for (int i = (0); i < (MAT.size()); ++i) {
    for (int j = (0); j < (MAT[i].size()); ++j) {
      cout << MAT[i][j] << " ";
    }
    cout << "\n";
  }
};
class HOGE {
 public:
  long long index;
  long long value;
  HOGE(long long index, long long value) {
    this->index = index;
    this->value = value;
  };
  ~HOGE(void) { return; };
  void print(void) {
    cout << "index : " << index << ", value : " << value << "\n";
    return;
  };
  bool operator==(const HOGE &obj) { return (this->value == obj.value); };
  bool operator<(const HOGE &obj) { return (this->value < obj.value); };
  bool operator>(const HOGE &obj) { return (this->value > obj.value); };
};
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  long long K;
  cin >> K;
  for (int i = 1; i < 10 && K > 0; ++i) {
    cout << i << "\n";
    K--;
  }
  for (int i = 1; i < 10 && K > 0; ++i) {
    cout << (i * 10 + 9) << "\n";
    K--;
  }
  int j = 1;
  int h = 100;
  while (K > 0) {
    cout << (j * h + 99) << "\n";
    K--;
    j++;
  }
  return 0;
}
