#include <bits/stdc++.h>
using namespace std;
vector<int> tostr(int n) {
  vector<int> num;
  while (n) {
    num.push_back(n % 10);
    n /= 10;
  }
  return num;
}
double f(int n, int sum) { return (double)n / (double)sum; }
int nextSnuke(vector<int> num, int n) {
  int sum = 0;
  for (int a = 0; a < num.size(); a++) {
    sum += num[a];
  }
  double mini = f(n, sum);
  int sepuluh = 1;
  int ans = n;
  for (int a = 0; a < num.size(); a++) {
    n = n - num[a] * sepuluh + 9 * sepuluh;
    sum = sum - num[a] + 9;
    double tmp = f(n, sum);
    if (tmp < mini) {
      mini = tmp;
      ans = n;
    }
    sepuluh *= 10;
  }
  return ans;
}
int main() {
  int k;
  scanf("%d", &k);
  int snuke = 1;
  printf("%d\n", snuke);
  k--;
  while (k--) {
    vector<int> num = tostr(snuke + 1);
    snuke = nextSnuke(num, snuke + 1);
    printf("%d\n", snuke);
  }
}
