
def solution(v):
check = 0
if len(answer) == m:
print(*answer)
return
for i in range(v, n):
if check != num[i]:
check = num[i]
answer.append(num[i])
solution(i + 1)
answer.pop()
n, m = map(int, input().split())
num = sorted(list(map(int, input().split())))
answer = []
solution(0)
이번 문제는 수열이 비내림차순이어야 한다고 한다. 그렇기 때문에 백트래킹을 걸어줄 때, 인덱스 값 + 1을 계속 해주면서 추가를 해주는데 중복은 없애서 출력해야 하기 때문에 값들을 check로 받아주면서 확인했다.