5C2 같은 조합의 모든 경우의 수를 나열하는 문제인데 이게 결국 DFS 문제였다...!
n, m = list(map(int,input().split()))
s = []
def dfs(start):
if len(s) == m: # m만큼만 반복하면 되기때문에 탈출조건으로 배열의 길이가 m이 되면 탈출.
print(" ".join(map(str, s)))
return
for i in range(start, n+1):
s.append(i)
dfs(i+1)
s.pop()
dfs(1)