“我不做人啦,jojo!”
“Dillonh起来回答问题!”
“啊?”沉迷于jojo的Dillonh又一次上课摸鱼被老师抓到了,他慌忙地抬起头看着讲台上火冒三丈的老师。
“给你一个数n,现在要找到一个集合,
中若干数
,使得
,同时对于任意的i和j(
)都要满足
,你能找到所有满足这个条件的集合
吗。如果对于这个数n有无限多个可能的集合
,那么就输出-1,否则就输出所有不同的集合。”如果眼神能杀人的话,此刻的Dillonh就已经被他的老师杀了千万遍了。
“这...”沉迷摸鱼的Dillonh自然是不会做这个题的,他现在急的满头大汗。作为聪明的ACMer,你能帮他解决这个问题吗?
(对于两个集合和
,如果两个集合内元素的个数不同的话,就认为这两个集合是不同的;如果这两个集合内元素个数相同的话,如果两个集合内的元素不论以任何顺序排序之后,仍然是不完全相同的话,那么就认为这两个集合是不同的)。
第一行一个数字T,代表有T组测试样例(T<=100)
对于每组测试样例都会输入一个数字n,代表老师提出的问题的数。(
)。
对于每组测试样例,第一行输出一个“Case #x:”,x代表当前为第几组测试样例。
如果有无限多个满足条件的集合,第二行就输出“-1”;
否则的话,第二行输出一个数字m,代表有m个集合是满足条件的。
接下来m行输出这m个集合的信息,按集合内元素个数的大小从小到大输出,
每行的第一个数num代表集合内元素的个数,接下来按从小到大输出num个数。每行的两个数之间用一个空格隔开,行末不要有空格。