Sophie 作为销售部门的员工,她的任务之一是制作销售额图表。她可以访问所有数据,即过去 $n$ 个月的整数销售额。在看过这些数字后,她知道这些数字是两两不同的。棘手的是,Sophie 的老板期望看到“令人印象深刻的”图表,而且不是一个,而是 $k$ 个!如果一个图表中的销售额序列是递增的,那么这个图表就是令人印象深刻的。虽然 Sophie 可以创建空图表,但她不能太有创造力。也就是说,她必须遵守以下规则:
- 任何一个月的销售额最多只能用于一个图表中;
- 每个图表必须按时间顺序排列,即对于图表中的每一对月份,较早的月份(及其对应的销售额)必须排在前面。
在一组图表中,使用的销售额数据越多,它就越令人印象深刻。
请帮助 Sophie 找到最令人印象深刻的 $k$ 个图表的集合。也就是说,编写一个程序:读取销售额的数量、要创建的销售图表数量以及每月销售额本身,确定最令人印象深刻的销售图表集合,并将其打印到标准输出。如果最令人印象深刻的销售图表集合不唯一,你的程序可以选择其中任意一个。
输入格式
输入的第一行包含两个整数 $n$ 和 $k$($1 \le n \le 200\,000$,$1 \le k \le 20$),由单个空格分隔。它们分别指定销售额的数量和图表的数量。
输入的第二行(也是最后一行)包含 $n$ 个两两不同的整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le n$),由单个空格分隔。这些是连续月份的销售额。
输出格式
你的程序应该精确输出 $k + 1$ 行。
第一行应该包含一个整数:在 $k$ 个令人印象深刻的图表集合中最多可以使用的销售额数量。
接下来的 $k$ 行应该描述这些图表,每行一个。单个描述应包含一个整数 $\ell$($\ell \ge 0$)——图表中的销售额数量——紧接着是这些销售额,即 $\ell$ 个整数 $a_{i_1}, a_{i_2}, \dots, a_{i_\ell}$,满足 $i_1 < i_2 < \dots < i_\ell$ 且 $a_{i_1} < a_{i_2} < \dots < a_{i_\ell}$。所有这些数字都由单个空格分隔。
样例
输入样例 1
6 2 6 4 1 5 3 2
输出样例 1
4 2 1 2 2 4 5
输入样例 2
5 1 5 1 2 4 3
输出样例 2
3 3 1 2 3
说明
在第一个样例中,最令人印象深刻的图表集合中的两个图表都包含 2 个销售额:一个图表是 1, 2,另一个图表是 4, 5。