Q598: Bundling Newspapers

一家統計研究公司需要你寫一個程式來幫他們解決問題。他們提供給你一份含有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