#include <bits/stdc++.h>
using namespace std;
double snukecalc(int number) {
  int karinum = number;
  int S = 0;
  while (karinum) {
    S += karinum % 10;
    karinum /= 10;
  }
  return 1.0 * number / S;
}
int main() {
  int K;
  cin >> K;
  int kazu = 0;
  int genzai = 0;
  int snuke[1000] = {};
  while (kazu < K) {
    if (genzai > 8) {
      int mattann = 0;
      int mattannchk = genzai;
      if (mattannchk % 10 == 9) {
        mattann++;
        mattannchk /= 10;
      }
      while (1) {
        genzai += pow(10, mattann);
        int check = genzai;
        int keta = 0;
        while (check) {
          keta++;
          check /= 10;
        }
        int gendo = genzai + pow(10, keta);
        int damedame = 0;
        int kurabeteru = genzai;
        double motocalc = snukecalc(genzai);
        while (kurabeteru < gendo) {
          kurabeteru += pow(10, mattann);
          if (motocalc > snukecalc(kurabeteru)) {
            damedame = 1;
            break;
          }
        }
        if (damedame == 1) {
          damedame = 0;
        } else
          break;
      }
      snuke[kazu] = genzai;
      kazu++;
    } else {
      genzai++;
      snuke[kazu] = genzai;
      kazu++;
    }
  }
  for (int i = 0; i < (K); i++) cout << snuke[i] << endl;
  return 0;
}
