#include <bits/stdc++.h>
using namespace std;
long long snuke_num(long long n) {
  long long ans = 0;
  long long t = n;
  while (t != 0) {
    ans += t % 10;
    t = t / 10;
  }
  return ans;
}
bool comp_sn(pair<long long, long double> p1, pair<long long, long double> p2) {
  if (p1.second < p2.second)
    return true;
  else if (p1.second > p2.second)
    return false;
  else
    return p1.first <= p2.first;
}
int main() {
  long long k;
  cin >> k;
  long double max = 0;
  pair<long long, long double> a[1224];
  int count = 0;
  long long temp;
  long long cur_max;
  for (int i = 1; i <= 9; i++) {
    for (int j = 0; j <= 15; j++) {
      for (int k = 0; k <= j; k++) {
        temp = i;
        for (int m = 0; m < k; m++) {
          temp *= 10;
        }
        for (int m = k; m < j; m++) {
          temp *= 10;
          temp += 9;
        }
        a[count].first = temp;
        a[count].second = (long double)temp / (long double)snuke_num(temp);
        count++;
      }
    }
  }
  sort(a, a + 1224, comp_sn);
  cur_max = 0;
  for (int i = 0; i < 1224; i++) {
    if (a[i].first > cur_max) {
      cout << a[i].first << endl;
      cur_max = a[i].first;
      k--;
    }
    if (k == 0) break;
  }
  return 0;
}
