초록 게임

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

초록 게임은 앤과 빌리 두 사람이 하는 게임이다. 두 사람은 a+ba+b개의 칸으로 이루어진 판 위에서 말 하나를 옮긴다. 칸에는 11부터 a+ba+b까지 번호가 매겨져 있으며, 11번부터 aa번까지는 앤의 칸, a+1a+1번부터 a+ba+b번까지는 빌리의 칸이다. 각 칸은 흰색이거나 초록색이다.

모든 칸에는 비어 있지 않은 다음 칸 집합(그 칸에서 한 번의 이동으로 갈 수 있는 칸들)이 정해져 있다. 다음 칸들은 앤의 칸에서 이동하면 반드시 빌리의 칸으로, 빌리의 칸에서 이동하면 반드시 앤의 칸으로 가도록 배치되어 있다.

말은 처음에 정해진 시작 칸 PP에 놓인다. 이후 두 사람은 번갈아 말을 옮기는데, 어떤 칸에서든 그 칸의 주인이 다음 칸 하나를 골라 이동한다. 첫 이동은 시작 칸 PP의 주인이 한다.

게임은 말이 같은 칸에 두 번째로 도착하는 순간 끝나며, 그 칸을 QQ라 하자. QQ에 처음 도착한 때부터 두 번째로 도착한 때까지 지나온 칸들을 살펴본다. 그 구간에서 말이 초록색 칸을 한 번이라도 밟았다면 앤이 이기고, 그렇지 않으면 빌리가 이긴다.

빌리가 어떻게 움직이든 앤이 항상 이길 수 있는 방법이 있다면, 앤은 그 시작 칸 PP에 대해 필승 전략을 가진다고 한다.

판이 주어질 때, 앤이 필승 전략을 가지는 모든 시작 칸을 구하여라.

입력

첫째 줄에 두 양의 정수 aabb가 공백으로 구분되어 주어진다. 각각 앤의 칸 수와 빌리의 칸 수를 뜻하며, 1a+b30001 \le a+b \le 3000이다.

다음 a+ba+b개의 줄에는 각 칸의 정보가 주어진다. 먼저 앤의 칸들이 1a1 \dots a 순서로, 그다음 빌리의 칸들이 a+1a+ba+1 \dots a+b 순서로 나온다. (i+1)(i+1)번째 줄은 ii번 칸을 설명하며, 두 정수 zzkk로 시작한다. zz는 칸의 색(00은 흰색, 11은 초록색), kk는 다음 칸의 개수(1k<a+b1 \le k < a+b)이다. 그 뒤에 kk개의 다음 칸 번호가 이어진다. 한 줄의 모든 정수는 공백 하나로 구분된다.

초록색 칸은 최대 100100개이며, 모든 칸의 다음 칸 개수를 합한 값은 최대 3000030000이다.

출력

첫째 줄에 앤이 필승 전략을 가지는 칸의 개수 ll을 출력한다. 이어지는 ll개의 줄에 그 칸들의 번호를 오름차순으로 한 줄에 하나씩 출력한다.