一家統計研究公司需要你寫一個程式來幫他們解決問題。他們提供給你一份含有n種不同報紙的名單,然後要求你回答含有k種報紙的所有組合。注意:每個組合均為原報紙名單的子集合,且各報紙的前後順序與原名單相同。
Input
輸入的第一列有一個正整數,代表以下有幾組測試資料。
每組測試資料的第一列,含有輸出組合大小k的要求。為下列三種格式之一:
a | 代表輸出要求 k=a,在此 1 <= a <= n |
a b | 代表輸出要求 k=a, a+1, a+2, ......, b,在此1 <= a <= b <= n |
* | 代表輸出要求 k=1,2, ......, n |
請注意:在輸入中並未直接有n的資料。n的值請由以下輸入資訊判斷。
從每組測試資料的第2列起為報紙的名單。每種報紙一列(長度最多30個字元),最多共有12種報紙。每組測試資料以一空白列結束(最後一組測試資料則是以end of file作為結束)
第一列與第一組測試資料,以及各測試資料間均有一空白列。請參考Sample Input。
Output
對每一組測試資料,輸出各個含有k種報紙的各種組合,每個組合一列,組合中報紙的順序需和原名單中相同。各組合的排列順序方式為:假如報紙名單為:ABCD,則k=2輸出應為A,B; A,C; A,D; B,C; B,D; C,D 。
k由小到大輸出。每個大小為k的組合之下請空一列。
測試資料間亦請空一列,請參考Sample Output。
Sample Input
3 2 3 Times Herald-Tribune Post New Advocate 1 Times Herald-Tribune * Chinese Times Union Times Free Post
Sample Output
Size 2 Times, Herald-Tribune Times, Post Times, New Advocate Herald-Tribune, Post Herald-Tribune, New Advocate Post, New Advocate Size 3 Times, Herald-Tribune, Post Times, Herald-Tribune, New Advocate Times, Post, New Advocate Herald-Tribune, Post, New Advocate Size 1 Times Herald-Tribune Size 1 Chinese Times Union Times Free Post Size 2 Chinese Times, Union Times Chinese Times, Free Post Union Times, Free Post Size 3 Chinese Times, Union Times, Free Post