#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#define rep(i,a,n) for(int i =(a);i<(n);i++)
#define urep(i,a,n) for(int i = (a);i>(n);i--)
#define all(x) (x).begin(),(x).end()
typedef long long ll;
using namespace std;

ll N, M, K;
bool flg = true;
int hide = 1;
int main() {
	ll ans = 0;
	ll num = 1;
	ll count = 9;
	cin >> K;
	rep(i, 0, K) {
		ans += num;
		count--;
		if (count == 0) {
			num *= 10;
			count = 9;
		}
		if (flg) {
			if (num == 100000000000) {
				flg = false;
				num /= 10;
			}
		cout << ans << endl;
	}
	cin >> N;
	return 0;
}
