N과 M (12)

N개의 수와 길이 M이 주어질 때, 같은 수를 여러 번 써도 되는 비내림차순 길이 M 수열을 모두 사전순으로 출력한다.

보통4백트래킹정렬재귀구현면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

NN개의 자연수와 자연수 MM이 주어진다. 아래 조건을 모두 만족하는 길이 MM인 수열을 전부 구하는 프로그램을 작성하시오.

  • 주어진 NN개의 수 중에서 MM개를 골라 만든 수열이다.
  • 같은 수를 여러 번 골라도 된다.
  • 수열은 비내림차순이다. 길이가 KK인 수열 AAA1A2AK1AKA_1 \le A_2 \le \cdots \le A_{K-1} \le A_K를 만족하면 비내림차순이라고 한다.

입력

첫째 줄에 NNMM이 주어진다. (1MN81 \le M \le N \le 8)

둘째 줄에 NN개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다.

출력

조건을 만족하는 수열을 한 줄에 하나씩 출력한다. 같은 수열을 두 번 이상 출력하면 안 되고, 수열의 각 수는 공백으로 구분해서 출력한다.

수열은 사전 순으로 증가하는 순서로 출력한다.