你可能知道,小青鱼每年都会举办许多比赛。比如 Universal Cup 比赛、ICPC 比赛、信息学奥林匹克竞赛等等……听说小青鱼最近非常疲惫,因此我想帮帮他。
具体来说,我组建了 $n$ 个出题组,编号从 $1$ 到 $n$。第 $i$ 个出题组最初有 $k_i$ 名成员,他们的实力分别为整数 $a_{i,1}, a_{i,2}, \ldots, a_{i,k_i}$。一个出题组的影响力定义为组内所有成员的实力之和。空出题组的影响力为 $0$。
但小青鱼并不信任我为他挑选的这些成员(这令人难过)。作为总监,他希望尽可能多地踢走其中的成员。不过,他希望做到公平:每当他踢走一名成员时,该成员必须是其所在出题组中实力最小的成员。形式化地说,在一次操作中,小青鱼选择一个非空出题组,并解雇其中一名实力最小的成员。如果有多名成员实力并列最小,他可以选择其中任意一人。
要知道,成员们听说有人被解雇后会非常伤心,甚至……可能会揭竿而起!小青鱼真的不希望任何出题组在这一过程中一家独大。因此,在每次操作之后,每个出题组的影响力都必须不超过所有其他出题组的影响力之和。也就是说,对于每个出题组 $i$,
$$s_i \le \sum_{j \ne i} s_j,$$
其中 $s_i$ 表示出题组 $i$ 当前的影响力。初始状态下的各出题组不一定满足该条件。
请你求出最多可以解雇多少名成员,并构造一个最优的操作序列。
输入格式
本题包含多组测试数据。第一行包含一个整数 $T$($1 \le T$),表示测试数据的组数。
对于每组测试数据,第一行包含一个整数 $n$($1 \le n \le 5 \times 10^5$),表示出题组的数量。接下来 $n$ 行,每行描述一个出题组:其中第 $i$ 行首先包含一个整数 $k_i$($1 \le k_i \le 5 \times 10^5$),随后包含 $k_i$ 个整数 $a_{i,1}, a_{i,2}, \ldots, a_{i,k_i}$($1 \le a_{i,j} \le 10^9$),表示第 $i$ 个出题组中各成员的实力。
保证所有测试数据中 $n$ 的总和不超过 $5 \times 10^5$,且所有测试数据中 $k_i$ 的总和不超过 $5 \times 10^5$。
输出格式
对于每组测试数据,输出两行。第一行包含一个整数 $m$,表示最多可以解雇的成员数量。第二行包含 $m$ 个整数 $b_1, b_2, \ldots, b_m$($1 \le b_i \le n$),其中 $b_i$ 表示第 $i$ 次操作所选择的出题组编号。如果 $m = 0$,则第二行应为空行。
如果存在多个最优的操作序列,你可以输出其中任意一个。
样例
输入格式 1
3 4 1 1 2 2 4 2 3 4 1 8 1 1 7 2 2 1 1 2 1 1
输出格式 1
4 3 2 4 1 1 1 0