
import bisect
n=100000

L=[]
for i in range(1,n):
    I=str(i)
    Num=0
    for j in range(len(I)):
        Num+=int(I[j])
    L.append([i/Num,i])
L.sort()
#print(L[:50])

sunu=[]
cnt=0
for i in range(len(L)):
    if L[i][1]>cnt:
        sunu.append(L[i][1])
        cnt=L[i][1]
#print(sunu[:50])

ans=["10","11","12","13","14","15","16","17","18","19","29","39","49","59","69","79","89","99"]
A=27
#print(sunu[27])

IN=int(input())
for N in range(1,IN+1):
    if N<=27:
        print(sunu[N-1])
    else:
        N-=28
        Nine="99"+"9"*(N//18)
        print(ans[N%18]+Nine)
    #print(sunu[N+27])