import heapq
def sk(k):
    tempk = k
    ret = 0
    while tempk!=0:
        ret+=tempk%10
        tempk//=10
    return ret

k= int(input())
ansl = []
heapq.heapify(ansl)
mmin = 99999999.0
for i in range(1,10*k+1):
    if i%10==0:pass
    else:
        temp = i/sk(i)
        heapq.heappush(ansl,(temp,i))
        mmin = min(mmin,temp)
needcalc=0
i=1
while len(ansl)!=0:
    tempa = heapq.heappop(ansl)
    print(tempa[1])
    if i==k:
        break
    i+=1