5507 - 组合的结果二

通过次数

1

提交次数

1

Time Limit : 1 秒
Memory Limit : 256 MB

在n个数中选择出K个数有若干种选择方法。
例如在1,1,2,3,4,4这6个数中选择2个,会有如下的组合:
{1、1}、{1、2}、{1、3}、{1、4}、{2、3}、{2、4}、{3、4}、{4、4}、
例如在12,10,10,20,20,13这6个数中选择3个,会有如下的组合:
{10、10、12}、{10、10、13}、{10、10、20}、{10、12、13}、{10、12、20}、{10、13、20}、{10、20、20}、12、13、20}、{12、20、20}、{13、20、20}、
现在给定n个不大于200的正整数(2 < n <= 20)和一个k(0 < <= n)值,请输出所有的组合情况,输出参照样例,规则如下:
1、每一组组合小数在前,大数在后,中间用空格隔开
2、每行输出一组,组与组的排序规则为有线按第一个数升序排序,第一个数相等者按第二个数升序,第二个数相等按第三个数升序,以此类推

Input

第一行二个用空格隔开的整数n、k
第二行n个用空格隔开的不大于200的正整数

Output

若干行,每行是一组选择出的组合,数值之间用空格隔开

Examples

Input

6 4
8 9 2 1 8 9

Output

1 2 8 8
1 2 8 9
1 2 9 9
1 8 8 9
1 8 9 9
2 8 8 9
2 8 9 9
8 8 9 9

Source

自编