res = []
def func(n,m):
if len(res) == m:
test = res[:]
test.sort()
if (test == res):
for ele in res:
print(ele, end= " ")
print()
return
else:
for i in range(1,n+1):
if i not in res:
res.append(i)
func(n,m)
res.pop()
n, m = map(int, input().split())
func(n,m)
==========================================================
# 다른풀이
n,m = list(map(int,input().split()))
result = []
def func(start):
if m == len(result):
print(" ".join(map(str, result)))
return
else:
for i in range(start, n+1):
if i not in result:
result.append(i)
func(start+1) # i + 1를 함으로써, 처음의 i보다 큰수부터 동작하도로 했다
result.pop()
func(1)
# 참고 https://jiwon-coding.tistory.com/22?category=882771