#include <bits/stdc++.h>
using namespace std;
const int max4 = 10004;
const int maxx = 100005;
const int max6 = 1000006;
const int lg5 = 17;
const int INF = 2 * 1000000007;
const long long INFLL = 4LL * 1000000000 * 1000000000;
int powmod(int a, int b, int mod) {
  int res = 1;
  a %= mod;
  for (; b; b >>= 1) {
    if (b & 1) {
      res = 1LL * res * a % mod;
    }
    a = 1LL * a * a % mod;
  }
  return res;
}
int gcd(int a, int b) {
  while (b > 0) {
    int t = a % b;
    a = b, b = t;
  }
  return a;
}
int lcm(int a, int b) { return (a / gcd(a, b)) * b; }
int is_prime(int n) {
  if (n <= 1 || n > 3 && (n % 2 == 0 || n % 3 == 0)) return 0;
  for (int i = 5, t = 2; i * i <= n; i += t, t = 6 - t)
    if (n % i == 0) return 0;
  return 1;
}
int second(long long x) {
  int res = 0;
  while (x > 0) res += x % 10, x /= 10;
  return res;
}
int check(long long a, long long b) { return a * second(b) < b * second(a); }
int main() {
  ios_base ::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
  int k;
  cin >> k;
  long long n = 1;
  while (k--) {
    cout << n++ << '\n';
    for (int i = 0; i <= 15; i++) {
      long long pw = ceil(pow(10, i));
      if (check(n / pw * pw + pw - 1, n) == 1) {
        n = n / pw * pw + pw - 1;
        break;
      }
    }
  }
  return 0;
}
