#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
using pl4 = pair<ll, ll>;
using vi = vector<int>;
using vvi = vector<vi>;
using vs = vector<string>;
using vvs = vector<vs>;
using vll = vector<ll>;
using vvll = vector<vll>;
using vpii = vector<pii>;
using vvpii = vector<vpii>;
using vpl4 = vector<pl4>;
using vvpl4 = vector<vpl4>;
const ll MOD = 1e9 + 7;
const string alpha = "abcdefghijklmnopqrstuvwxyz";
const string ALPHA = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
ll gcd(ll a, ll b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
ll lcm(ll a, ll b) { return a / gcd(a, b) * b; }
ll min(ll a, ll b) {
  if (a >= b) return b;
  if (a < b) return a;
}
ll max(ll a, ll b) {
  if (a >= b) return a;
  if (a < b) return b;
}
ll dSum10(ll n) {
  ll m = 0;
  for (ll i = (0);
       i <= (((llabs(n) == 0) ? (1) : ((ll)(log10(double(llabs(n)))) + 1)) - 1);
       i++) {
    m += (ll)((llabs(n) % (ll)(pow(10.0, (double)(i + 1)))) /
              (ll)(pow(10.0, (double)i)));
  }
  return m;
}
ll isP(ll n) {
  if (n <= 1) return 0;
  for (ll i = (2); i <= ((ll)sqrt(n)); i++) {
    if (n % i == 0) return 0;
  }
  return 1;
}
ll BinS(vll a, ll b) {
  ll min = 0, max = a.size() - 1, mid = 0;
  ;
  while (1) {
    mid = (min + max) / 2;
    if (a[min] == b) return min;
    if (a[mid] == b) return mid;
    if (a[max] == b) return max;
    if (max - min <= 2) return -1;
    if (a[mid] < b) min = mid;
    if (a[mid] > b) max = mid;
  }
}
signed main() {
  ll K;
  cin >> K;
  for (ll i = (1); i <= (K); i++) {
    if (i < 9) cout << (i) << endl;
    ;
    if (i >= 9) cout << (10 * (i - 9) + 9) << endl;
    ;
  }
}
