Universal Cup Judging System

Universal Cup

Límite de tiempo: 3 s Límite de memoria: 2048 MB Puntuación total: 100 Dificultad: [mostrar] Hackeable ✓
Estadísticas

Forse sai che Little Cyan Fish crea molte gare ogni anno. Sai, gare della Universal Cup, gare ICPC, Olimpiadi di Informatica, e così via... Ho sentito dire che Little Cyan Fish è stato davvero stanco in questi giorni, quindi vorrei aiutarlo.

Nello specifico, ho creato $n$ gruppi di preparazione dei problemi, numerati da $1$ a $n$. L'$i$-esimo gruppo ha inizialmente $k_i$ membri, le cui forze sono gli interi $a_{i,1}, a_{i,2}, \ldots, a_{i,k_i}$. L'influenza di un gruppo è la somma delle forze dei suoi membri. Un gruppo vuoto ha un'influenza pari a $0$.

Ma Little Cyan Fish non si fida dei membri che ho selezionato per lui (il che è triste). Come direttore, vuole cacciarne il maggior numero possibile. Tuttavia, vuole essere equo: ogni volta che caccia un membro, quel membro deve avere la forza minima nel proprio gruppo. Formalmente, in un'operazione, Little Cyan Fish sceglie un gruppo non vuoto e licenzia uno dei suoi membri con la forza minima. Se più membri sono a pari merito, può sceglierne uno qualsiasi.

Sai, i membri saranno molto tristi nel sentire che qualcuno è stato licenziato, oppure... forse imbracceranno persino le armi! Little Cyan Fish non vuole assolutamente che alcun gruppo di preparazione dei problemi diventi dominante durante il processo. Pertanto, dopo ogni operazione, l'influenza di ogni gruppo deve essere non superiore alla somma delle influenze di tutti gli altri gruppi. Cioè, per ogni gruppo $i$,

$$s_i \le \sum_{j \ne i} s_j,$$

dove $s_i$ indica l'influenza attuale del gruppo $i$. I gruppi iniziali non soddisfano necessariamente questa condizione.

Trova il numero massimo di membri che possono essere licenziati e costruisci una sequenza ottimale di operazioni.

Input

Ci sono più casi di test. La prima riga contiene un singolo intero $T$ ($1 \le T$), che indica il numero di casi di test.

Per ogni caso di test, la prima riga contiene un singolo intero $n$ ($1 \le n \le 5 \times 10^5$), il numero di gruppi. Ciascuna delle successive $n$ righe descrive un gruppo: la $i$-esima di queste righe inizia con un intero $k_i$ ($1 \le k_i \le 5 \times 10^5$), seguito da $k_i$ interi $a_{i,1}, a_{i,2}, \ldots, a_{i,k_i}$ ($1 \le a_{i,j} \le 10^9$), le forze dei membri dell'$i$-esimo gruppo.

È garantito che la somma di $n$ su tutti i casi di test non superi $5 \times 10^5$, e che la somma di $k_i$ su tutti i casi di test non superi $5 \times 10^5$.

Output

Per ogni caso di test, stampa due righe. La prima riga contiene un singolo intero $m$, il numero massimo di membri che possono essere licenziati. La seconda riga contiene $m$ interi $b_1, b_2, \ldots, b_m$ ($1 \le b_i \le n$), dove $b_i$ è l'indice del gruppo scelto nella $i$-esima operazione. Se $m = 0$, la seconda riga deve essere vuota.

Se esistono più sequenze ottimali di operazioni, puoi stamparne una qualsiasi.

Esempi

Input 1

3
4
1 1
2 2 4
2 3 4
1 8
1
1 7
2
2 1 1
2 1 1

Output 1

4
3 2 4 1
1
1
0

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.