#include <bits/stdc++.h>
using namespace std;
const long long LLINF = 9223372036854775807;
const int MOD = 1000000007;
int dsum(long long n) {
  int result = 0;
  while (n != 0) {
    result += n % 10;
    n /= 10;
  }
  return result;
}
int main() {
  int K;
  cin >> K;
  vector<long long> result;
  for (int dig = 1; dig <= 16; dig++)
    for (int i = 1; i <= 9; i++) {
      long long s = i * pow(10, dig - 1);
      for (int j = 0; j <= dig - 2; j++) {
        long long tmp_s = s + 9 * pow(10, j);
        if (s * dsum(tmp_s) >= tmp_s * dsum(s))
          s = tmp_s;
        else {
          for (int x = 0; x < (int)pow(10, dig - j - 1); x++)
            result.push_back(s + x * pow(10, j));
          break;
        }
        if (j == dig - 2) result.push_back(s);
      }
    }
  for (int i = 0; i < (int)K; i++) cout << result[i] << endl;
  return 0;
}
