#include<bits/stdc++.h>
using namespace std;

long long keta_wa(long long n){
	long long res=0;
	while(n>0){
		res+=n%10;
		n/=10;
	}
	return res;
}//nの各桁の和を求める関数

double sunuke(long long n){
	return double(n)/keta_wa(n);
}//nのsunuke数を求める関数

int main(){
	vector<long long>res;
	long long base=1;

	for(int i=0;i<15;++i){
		for(int j=1;j<150;++j){
			res.push_back(base*(j+1)-1);
		}
		base*=10;
	}
	sort(res.begin(),res.end());
	res.erase(unique(res.begin(),res.end()),res.end());

	for(long long int i=0;i<res.size();++i){
		for(long long int j=i+1;j<res.size();++j){
			if(sunuke(res[i])>sunuke(res[j])){
				res.erase(res.begin() + i--);
				break;
			}
		}
	}
	long long int k;
	cin>>k;
	for(int i=0;i<k;++i){
		cout<<res[i]<<endl;
	}
}