#include <bits/stdc++.h>
using namespace std;
typedef struct data {
  int now;
  int cost;
} data;
int nw[9] = {0, 1, 0, -1, -1, 1, 1, -1, 0};
int nh[9] = {1, 0, -1, 0, 1, 1, -1, -1, 0};
unsigned long long int k;
double hai = 1;
unsigned long long int s = 9;
unsigned long long int n = 9;
vector<unsigned long long int> ans;
int kazu[16] = {};
void shori(int i) {
  kazu[i]++;
  int sum = 1;
  for (int j = 1; j < i; j++) sum *= 10;
  if (kazu[i] < 10) {
    s++;
    n += sum;
  } else {
    s -= 9;
    n -= sum * 9;
    kazu[i] = 0;
    shori(i + 1);
  }
  return;
}
int main() {
  cin >> k;
  unsigned long long int cnt = 1;
  while (ans.size() < k) {
    for (int i = 1; i <= 9; i++) {
      ans.push_back(i * cnt);
    }
    cnt *= 10;
  }
  for (int i = 0; i < k; i++) {
    cout << ans[i] << endl;
  }
  return 0;
}
