#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
const long long INF = 1e15;
long long S(long long N) {
  long long ans = 0;
  while (N > 0) {
    ans += N % 10;
    N /= 10;
  }
  return ans;
}
int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(0);
  int K;
  cin >> K;
  vector<long long> snukes;
  for (int n = 1; n <= 9; n++) snukes.push_back(n);
  for (int n = 19; n <= 100; n += 10) snukes.push_back(n);
  int N = 3;
  long long nines = 9;
  long long tenpow = 10;
  while (snukes.size() < K) {
    for (long long a = 10; a <= 99; a++) {
      bool flag = true;
      for (long long b = a + 1; b <= 99; b++) {
        long long cri = tenpow * (b * S(a) - a * S(b)) +
                        9 * tenpow * (N - 2) * (b - a) + nines * (S(a) - S(b));
        if (cri < 0) {
          flag = false;
          break;
        }
      }
      if (flag) snukes.push_back(a * tenpow + nines);
    }
    N++;
    nines = nines * 10 + 9;
    tenpow *= 10;
  }
  for (int n = 0; n < K; n++) {
    cout << snukes[n] << "\n";
  }
  return 0;
}
