#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
double s[1000000];
double digit(long long n) {
  double ret = 0.0;
  while (n > 0LL) {
    ret += (n + 10LL) % 10LL;
    n /= 10LL;
  }
  return ret;
}
bool comp(long long &lhs, long long &rhs) {
  return (double)lhs / digit(lhs) < (double)rhs / digit(rhs);
}
vector<long long> ans;
int main() {
  int k;
  cin >> k;
  long long base = 1;
  for (int i = 0; i < 15; i++) {
    for (int j = 1; j < 150; j++) ans.push_back(base * (j + 1) - 1);
    base *= 10;
  }
  sort(ans.begin(), ans.end());
  ans.erase(unique(ans.begin(), ans.end()), ans.end());
  sort(ans.begin(), ans.end(), comp);
  long long now = ans[0];
  cout << now << endl;
  int cnt = 1;
  for (int i = 1; i < ans.size(); i++) {
    if (cnt == k) break;
    if (now > ans[i]) continue;
    cout << ans[i] << endl;
    cnt++;
    now = ans[i];
  }
  return 0;
}
