#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll sum(ll x, unordered_map<ll, ll> &memo) {
  if (x <= 9) return x;
  if (memo.end() != memo.find(x)) {
    return memo[x];
  }
  memo[x] = sum(x % 10, memo) + sum(x / 10, memo);
  return memo[x];
}
int main() {
  ll K;
  cin >> K;
  unordered_map<ll, ll> memo;
  ll t = 1;
  ll i = 1;
  vector<ll> ans;
  while (t <= K) {
    if (sum(i, memo) == t) {
      ++t;
      ans.push_back(i);
    }
    ++i;
  }
  for (ll i = 0; i < K; ++i) {
    cout << ans[i] << endl;
    ;
  }
  return 0;
}
