import collections,sys,math,functools,operator,itertools,bisect,heapq,decimal,string,time,random
#sys.setrecursionlimit(10**9)
#sys.set_int_max_str_digits(0)
#input = sys.stdin.readline
n,i = map(int,input().split())
#alist = list(map(int,input().split()))
#alist = []
#s = input()
#n,m = map(int,input().split())
#for i in range(n):
#    alist.append(list(map(int,input().split())))
ans = []
while n > 0:
    for j in range(i,10000):
        if math.comb(j,i) > n:
            j -= 1
            ans.append(j)
            n -= math.comb(j,i)
            i -= 1
            break
print(*ans)