아시다시피 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는 제가 그를 위해 선발한 멤버들을 신뢰하지 않습니다(슬픈 일이죠). 디렉터로서 그는 가능한 한 많은 멤버를 내보내고 싶어 합니다. 그러나 그는 공정하기를 원하기 때문에, 멤버를 내보낼 때마다 그 멤버는 자신이 속한 그룹에서 실력이 가장 작은 멤버여야 합니다. 엄밀하게 말하면, 한 번의 연산에서 Little Cyan Fish는 비어 있지 않은 그룹을 하나 선택하고 그 그룹에서 실력이 가장 작은 멤버 중 한 명을 해고합니다. 실력이 가장 작은 멤버가 여러 명이라면 그중 아무나 선택할 수 있습니다.
아시다시피, 멤버들은 누군가 해고되었다는 소식을 들으면 매우 슬퍼할 것이고, 아니면... 심지어 무기를 들고 봉기할지도 모릅니다! Little Cyan Fish는 이 과정에서 어떤 출제 그룹도 지배적인 세력이 되는 것을 정말로 원하지 않습니다. 따라서 각 연산이 끝난 후, 모든 그룹의 영향력은 다른 모든 그룹의 영향력의 합 이하여야 합니다. 즉, 모든 그룹 $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$)로 시작하며, 이어서 $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$을 초과하지 않음이 보장됩니다.
출력
각 테스트 케이스마다 두 줄을 출력하세요. 첫 번째 줄에는 해고할 수 있는 멤버의 최대 인원수를 나타내는 단일 정수 $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