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)