#P2245. Lotto

Lotto

描述

在德国乐透彩票中,你需要从集合 1,2,...,49{1,2,...,49} 中选择 66 个数字。一种流行的策略(尽管它不会增加你获胜的机会)是选择一个包含 kkk>6k > 6)个数字的子集 SS,然后仅从 SS 中选择数字进行多轮游戏。例如,对于 k=8k=8S={1,2,3,5,8,13,21,34}S = \{1,2,3,5,8,13,21,34\},共有 2828 种可能的游戏组合:[1,2,3,5,8,13][1,2,3,5,8,13][1,2,3,5,8,21][1,2,3,5,8,21][1,2,3,5,8,34][1,2,3,5,8,34][1,2,3,5,13,21][1,2,3,5,13,21]……[3,5,8,13,21,34][3,5,8,13,21,34]

你的任务是编写一个程序,读取数字 kk 和集合 SS,然后打印出所有仅从 SS 中选择数字的可能游戏组合。

输入

输入包含一个或多个测试用例。每个测试用例由一行组成,其中包含若干个用空格分隔的整数。该行的第一个整数是数字 kk6<k<136 < k < 13)。随后是 kk 个按升序排列的整数,用于指定集合 SS。当 kk 的值为 00 时,输入终止。

输出

对于每个测试用例,打印所有可能的游戏组合,每个组合占一行。每个游戏组合中的数字必须按升序排列,并且用恰好一个空格分隔。游戏组合本身必须按字典序排列,即首先按最小的数字排序,然后按第二小的数字排序,依此类推,如以下样例输出所示。测试用例之间必须用恰好一个空行分隔。最后一个测试用例之后不要输出空行。

输入数据 1

7 1 2 3 4 5 6 7  
8 1 2 3 5 8 13 21 34  
0  

输出数据 1

1 2 3 4 5 6  
1 2 3 4 5 7  
1 2 3 4 6 7  
1 2 3 5 6 7  
1 2 4 5 6 7  
1 3 4 5 6 7  
2 3 4 5 6 7  

1 2 3 5 8 13  
1 2 3 5 8 21  
1 2 3 5 8 34  
1 2 3 5 13 21  
1 2 3 5 13 34  
1 2 3 5 21 34  
1 2 3 8 13 21  
1 2 3 8 13 34  
1 2 3 8 21 34  
1 2 3 13 21 34  
1 2 5 8 13 21  
1 2 5 8 13 34  
1 2 5 8 21 34  
1 2 5 13 21 34  
1 2 8 13 21 34  
1 3 5 8 13 21  
1 3 5 8 13 34  
1 3 5 8 21 34  
1 3 5 13 21 34  
1 3 8 13 21 34  
1 5 8 13 21 34  
2 3 5 8 13 21  
2 3 5 8 13 34  
2 3 5 8 21 34  
2 3 5 13 21 34  
2 3 8 13 21 34  
2 5 8 13 21 34  
3 5 8 13 21 34