#include <bits/stdc++.h>
typedef struct {
  int x;
  int y;
} P;
using namespace std;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int K;
  cin >> K;
  vector<long long> v;
  for (int i = 0; i < (9); i++) {
    v.push_back(i + 1);
  }
  for (int i = 0; i < (9); i++) {
    long long num = (i + 1) * 10 + 9;
    v.push_back(num);
  }
  for (int i = 0; i < (9); i++) {
    long long num = (i + 1) * 100 + 99;
    v.push_back(num);
  }
  for (int i = 4; i < (16); i++) {
    int max = 9 + (i - 3) * 10;
    if (max <= 99) {
      for (int j = 10; j < (max + 1); j++) {
        long long num = (j + 1) * pow(10, i - 2) - 1;
        v.push_back(num);
      }
      long long tmp = (max + 1) * pow(10, i - 2) - 1;
      tmp += pow(10, i - 1);
      while (tmp <= pow(10, i)) {
        v.push_back(tmp);
        tmp += pow(10, i - 1);
      }
    }
  }
  sort(v.begin(), v.end());
  unique(v.begin(), v.end());
  for (int i = 0; i < (K); i++) {
    cout << (v[i]) << endl;
    ;
  }
}
