给定一个包含 $n$ 个数字 $a_1, a_2, \dots, a_n$ 的数组,这些数字印在一排卡片上,你需要将其按非递减顺序排序。由于卡片很大,一个人一次只能交换两张相邻的卡片。不过,你可以根据需要安排任意多的人手进行交换,只要他们不尝试交换同一张卡片即可。因此,在一步操作中,你可以对任意一组互不重叠的相邻卡片对进行交换。
更正式地说,在一步操作中,你可以选择一组下标 $i_1, i_2, \dots, i_k$,满足 $i_1 + 2 \le i_2, i_2 + 2 \le i_3, \dots, i_{k-1} + 2 \le i_k$,并同时交换 $a_{i_1}$ 与 $a_{i_1+1}$,$a_{i_2}$ 与 $a_{i_2+1}$,$\dots$,$a_{i_k}$ 与 $a_{i_k+1}$。
你的目标是在最多 $n$ 步内将给定的数组按非递减顺序排序。注意,你不需要最小化步数。
输入格式
输入包含多个测试用例。输入的第一行包含测试用例的数量 $t$。每个测试用例由两行描述。第一行包含数组的大小 $n$ ($1 \le n \le 100$)。第二行包含数组的元素 $a_1, a_2, \dots, a_n$。数组元素为 $1$ 到 $10^9$ 之间的整数。
输入中 $n$ 的总和不超过 $1000$。
输出格式
按顺序输出每个测试用例的结果。对于每个测试用例,首先在单独的一行中输出你所使用的步数 $m$ ($0 \le m \le n$)。接下来的 $m$ 行中,每行描述一步操作:首先输出交换的对数 $k$ ($0 \le k \le \lfloor \frac{n}{2} \rfloor$),随后按升序输出每一对中第一个元素的下标 $i_1, i_2, \dots, i_k$。
样例
样例输入 1
2 3 3 2 1 4 300 200 400 100
样例输出 1
3 1 1 1 2 1 1 3 2 1 3 1 2 1 1