ご存知かもしれませんが、Little Cyan Fish は毎年たくさんのコンテストを作っています。Universal Cup のコンテスト、ICPC のコンテスト、情報オリンピックなどなど……最近 Little Cyan Fish がとても疲れていると聞き、私は彼を手伝いたいと思いました。
具体的には、私は $1$ から $n$ までの番号が付けられた $n$ 個の作問グループを作りました。$i$ 番目のグループには最初 $k_i$ 人のメンバーがおり、彼らの実力は整数 $a_{i,1}, a_{i,2}, \ldots, a_{i,k_i}$ です。あるグループの影響力とは、そのグループのメンバーの実力の総和です。空のグループの影響力は $0$ です。
しかし、Little Cyan Fish は私が彼のために選んだメンバーたちを信用していません(悲しいことです)。ディレクターとして、彼はできるだけ多くのメンバーを追放したいと考えています。ただし、彼は公平でありたいと思っており、メンバーを追放する際には、そのメンバーが所属グループ内で最小の実力を持っていなければなりません。形式的には、1 回の操作において、Little Cyan Fish は空でないグループを 1 つ選び、そのグループ内で実力が最小のメンバーを 1 人解雇します。最小の実力を持つメンバーが複数いる場合は、そのうちの誰を選んでもかまいません。
ご存知のとおり、誰かが解雇されたと聞けばメンバーたちはとても悲しむでしょうし、あるいは……武器を取って蜂起するかもしれません!Little Cyan Fish はその過程でどの作問グループも支配的になることを本当に望んでいません。したがって、各操作の後、すべてのグループの影響力は、他のすべてのグループの影響力の総和以下でなければなりません。すなわち、すべてのグループ $i$ について、
$$s_i \le \sum_{j \ne i} s_j,$$
が成り立つ必要があります。ここで $s_i$ はグループ $i$ の現在の影響力を表します。初期状態のグループはこの条件を満たしているとは限りません。
解雇できるメンバーの最大人数を求め、最適な操作列を 1 つ構築してください。
入力
複数のテストケースが与えられます。最初の行には、テストケースの個数を表す単一の整数 $T$ ($1 \le T$) が与えられます。
各テストケースについて、最初の行にはグループの個数を表す単一の整数 $n$ ($1 \le n \le 5 \times 10^5$) が与えられます。続く $n$ 行はそれぞれ 1 つのグループを表します。これらのうち $i$ 番目の行は整数 $k_i$ ($1 \le k_i \le 5 \times 10^5$) から始まり、続いて $i$ 番目のグループのメンバーの実力を表す $k_i$ 個の整数 $a_{i,1}, a_{i,2}, \ldots, a_{i,k_i}$ ($1 \le a_{i,j} \le 10^9$) が与えられます。
すべてのテストケースにわたる $n$ の総和は $5 \times 10^5$ を超えず、すべてのテストケースにわたる $k_i$ の総和は $5 \times 10^5$ を超えないことが保証されます。
出力
各テストケースについて、2 行出力してください。1 行目には、解雇できるメンバーの最大人数を表す単一の整数 $m$ を出力してください。2 行目には、$m$ 個の整数 $b_1, b_2, \ldots, b_m$ ($1 \le b_i \le n$) を出力してください。ここで $b_i$ は $i$ 回目の操作で選ばれたグループの番号です。$m = 0$ の場合、2 行目は空行にしてください。
最適な操作列が複数存在する場合は、そのうちのどれを出力してもかまいません。
入出力例
入力 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