독일 로또는 ${1, 2, \ldots, 49}$에서 서로 다른 수 6개를 고르는 방식으로 진행된다.
로또 번호를 고를 때 널리 쓰이는 전략 하나는, 49개의 수 중에서 $k$개($k > 6$)를 미리 골라 집합 $S$를 만든 뒤, 그 $S$ 안의 수만으로 6개를 선택하는 것이다.
예를 들어 $k = 8$, $S = {1, 2, 3, 5, 8, 13, 21, 34}$라면, 이 집합에서 6개를 고르는 경우의 수는 모두 28가지이다.
집합 $S$와 $k$가 주어졌을 때, $S$에서 6개를 고르는 모든 방법을 출력하는 프로그램을 작성하시오.
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄로 주어진다. 줄의 첫 번째 수는 $k$ ($6 < k < 13$)이고, 이어지는 $k$개의 수가 집합 $S$의 원소이다. $S$의 원소는 오름차순으로 주어진다.
입력의 마지막 줄에는 $0$ 하나만 주어지며, 이 줄은 처리하지 않는다.
각 테스트 케이스마다 $S$에서 6개를 고르는 모든 방법을 사전순으로 출력한다. 한 방법은 고른 6개의 수를 오름차순으로, 공백으로 구분하여 한 줄에 출력한다.
서로 다른 테스트 케이스의 출력 사이에는 빈 줄을 하나 출력한다.