Randias has

stones, the

-th stone has number

written on it. Initially,

stones are piled up separately (which means they form

piles, and each pile contains one stone).
Randias has

machines, numbered from

to

. The machine numbered

can merge exactly

piles into one single pile.
Unfortunately, if the piles put into machine

contain a stone with number

, then the machine will act differently. The machine will output two piles; the first one contains all stones with number

, and the second one contains all remaining stones (the second one may be empty). After that, machine

will be broken, which means that it can not be used again.
Randias can use any machine any number of times before it is broken. He wants to merge all the stones into one pile. Please help him to determine how to merge the stones, or determine if it is impossible.
输入描述:
Each test contains multiple test cases. The first line contains a single integer
(
), denoting the number of test cases.
For each test case, the first line contains two integers
(
), denoting the number of stones and the limit of machines. The second line contains
integers
(
), denoting the number written on each stone.
It is guaranteed that the sum of
over all test cases does not exceed
.
输出描述:
For each test case, if it is impossible to merge all stones in one pile, output ''-1''(without quotes).
Otherwise, on the first line, output the number of operations
(
).
We assign a unique ID to each pile. The IDs of the initial piles are
. The two piles possibly created by the
-th operation have the ID
and
. Let
be the number of piles merged in the
-th operation. The pile with ID
contains all stones with number
written on it, and the pile with ID
contains the remaining stones. Note that one of the piles may be empty, but we still assign an ID for it. Also, if the pile with ID
is not empty, which means machine
will be broken after this operation, and you can never use it again.
For each operation, output it in a single line. First output
(
), the number of piles that need to be merged. Then followed by
distinct integers
, each of them denoting a non-empty pile. This represents merging piles with ID
, and creates two new piles with ID
,
. After this operation, piles with ID
become empty. You should make sure that the machine
is not broken before this operation.
After all the operations, you should make sure there is only one non-empty pile, which contains all
stones.
In a single test case, you should make sure that
.
示例1
输入
复制
5
2 2
1 2
3 3
2 2 1
4 3
2 2 2 4
6 4
2 2 3 3 3 5
2 2
2 2
输出
复制
-1
1
3 3 1 2
2
2 1 2
3 3 4 5
2
3 3 4 5
4 1 2 6 7
1
2 1 2