#include <bits/stdc++.h>
using namespace std;
int main() {
  complex<long double> cmpmp;
  const long long int mod = 1000000007;
  map<long long int, long long int> mp;
  long long int N, A, B, h[200] = {}, left = 0, right = 1000000000, num = 0,
                         sum[15] = {};
  long long int ten[20] = {1}, ketawa = 1, key = 0;
  string str;
  cin >> N;
  for (int i = 1; i <= 18; i++) {
    ten[i] = ten[i - 1] * 10;
  }
  for (int i = 0; i < 18; i++) {
    num = ten[i];
    ketawa = 1;
    while (num != ten[i + 1] - 1) {
      for (int j = 0; j <= i; j++) {
      next:
        while (num / ten[j] % 10 != 9) {
          if (ketawa * ten[j] - num >= 0) {
            cout << num << endl;
            N--;
            key = 1;
            if (N == 0) {
              return 0;
            }
          }
          num += ten[j];
          ketawa++;
        }
        if (ketawa * ten[j] - num >= 0) {
          cout << num << endl;
          N--;
          key = 1;
          if (N == 0) {
            return 0;
          }
        }
        if (key == 1 && num / ten[i] % 10 != 9) {
          num += ten[max(j - 3, 0)];
          j = max(j - 3, 0);
          ketawa = 0;
          for (int k = 0; k <= 16; k++) {
            ketawa += num / ten[k] % 10;
          }
          key = 0;
          goto next;
        } else if (key == 1) {
          key = 0;
        }
      }
    }
  }
}
