Child's play
题号:NC225912
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

Ema is playing a new game with her friends! 

Each of the  players has a number on its forehead. The numbers range from  to , and no two players have the same number. A player can see everyone else's number, but not the number on itself. All players know the lower bound  and the upper bound $m$ beforehand.

Players win by pointing out how many other players have a number smaller than its own number. To decide the winner, each turn every player writes down whether or not it can win using the information from previous turns, then everyone shows the result simultaneously. The game ends when at least one player wins on some turn.

Given the starting situation, determine when will the game end, and who wins at the end. It can be shown that the game will always end.

输入描述:

There are multiple test cases. The first line of the input contains an integer  indicating the number of test cases. For each test case:

The first line contains two integers  and , indicating the number of players and the range of numbers.

The next line contains integer a_i (), in ascending order, the -th number indicating the number on the $i$-th player.

It's guaranteed that the sum of  of all test cases will not exceed .

输出描述:

For each test case, output the first line containing  integers  and , indicating the turn where the game ends and the number of player that will win on that turn, and the second line containing  integers s_i, indicating the indices of the players that win on turn . The indices should be printed in increasing order.
示例1

输入

复制
3
3 5
2 3 4
4 18
7 8 15 17
5 16
4 6 8 11 13

输出

复制
2 3
1 2 3
8 2
2 3
7 1
2