#include <bits/stdc++.h>
using namespace std;
int kazu1(int i) {
  if (i % 18 < 9) {
    cout << (i / 18 * 100) + i % 18 + 1 << endl;
  } else {
    cout << (i / 18) * 100 + (i % 18 - 8) * 10 + 9 << endl;
  }
}
int kazu2(int i) {
  if (i % 18 < 9) {
    cout << (i / 18 * 100) + i % 18 + 1 << endl;
  } else {
    cout << (i / 18) * 100 + (i % 18 - 8) * 10 + 9 << endl;
  }
}
int kazu3(int i) {
  if (i % 18 < 9) {
    cout << (i / 18 * 100) + i % 18 + 1 << endl;
  } else {
    cout << (i / 18) * 100 + (i % 18 - 8) * 10 + 9 << endl;
  }
}
int kazu4(int i) {
  if (i % 18 < 9) {
    cout << (i / 18 * 100) + i % 18 + 1 << endl;
  } else {
    cout << (i / 18) * 100 + (i % 18 - 8) * 10 + 9 << endl;
  }
}
int kazu5(int i) {
  if (i % 18 < 9) {
    cout << (i / 18 * 100) + i % 18 + 1 << endl;
  } else {
    cout << (i / 18) * 100 + (i % 18 - 8) * 10 + 9 << endl;
  }
}
int kazu6(int i) {
  if (i % 18 < 9) {
    cout << (i / 18 * 100) + i % 18 + 1 << endl;
  } else {
    cout << (i / 18) * 100 + (i % 18 - 8) * 10 + 9 << endl;
  }
}
int main() {
  long long int K = 0;
  cin >> K;
  for (long long int j = 0; j <= K - 1; j++) {
    if (j < 10000) {
      kazu1(j);
      continue;
    }
    if (j < 20000) {
      kazu2(j);
      continue;
    }
    if (j < 30000) {
      kazu3(j);
      continue;
    }
    if (j < 40000) {
      kazu4(j);
      continue;
    }
    if (j < 50000) {
      kazu5(j);
      continue;
    } else {
      kazu6(j);
      continue;
    }
  }
}
