옛 임금은 성 안에 보물을 숨기고 그 장소를 비밀로 지켰다. 하지만 전쟁에 나갈 때마다 자신이 죽어 보물을 영영 잃게 될까 두려웠다. 그래서 믿을 만한 경비병들을 뽑아, 보물을 찾는 데 필요한 정보를 조각조각 나누어 각자에게 알려 주었다.
임금은 경비병들에게 성 밑에 있는 지하 금고들 사이를 오른손 규칙에 따라 돌아다니라고 명령했다. 금고들은 복도로 연결되어 있다. 복도는 금고 밖에서는 서로 교차하지 않지만, 다른 복도 아래로 지나갈 수는 있다. 어떤 복도도 자기 자신이 나온 금고로 되돌아가지 않으며, 두 금고 사이에는 복도가 많아야 하나뿐이다. 오른손 규칙이란, 금고에 들어온 경비병이 자신이 들어온 복도의 바로 오른쪽 복도로 나간다는 뜻이다. 각 금고에서 복도들은 시계 방향으로 나열되어 있으며, 들어온 복도의 시계 방향으로 바로 다음 복도가 나가는 복도가 된다.
경비병들은 서로 다른 복도 입구에서 출발한다. 같은 금고에서 여러 경비병이 출발할 수도 있으나, 두 경비병이 같은 복도로 동시에 들어서지는 않는다.
경비병들은 임금이 돌아올 때까지 명령을 충실히 따른다. 그런데 두 명 이상의 경비병이 같은 금고에 같은 시각에 있게 되면, 그들은 자신이 아는 보물 정보를 모두 서로 나눈다. 누군가에게 새로울 것이 없더라도 정보를 공유한다. 같은 금고에서 출발한 경비병들은 출발하는 순간(시각 0)에 곧바로 서로 아는 정보를 나눈다. 반면 복도 안에서 스쳐 지나가기만 할 때는 이야기를 나누지 않는다.
경비병이 복도 하나를 지나는 데는 그 복도의 길이만큼 시간이 걸리고, 금고 안에 머무는 시간은 없다고 본다. 경비병들은 멈추지 않고 계속 걷는다.
보물을 찾는 데 필요한 모든 정보를 언젠가 알게 될 수 있는 경비병이 누구인지 구하는 프로그램을 작성하여라.
첫째 줄에 금고의 수 n이 주어진다 (2 ≤ n ≤ 100). 금고는 1번부터 n번까지 번호가 매겨져 있다.
다음 n개의 줄에는 각 금고에서 나가는 복도가 시계 방향 순서로 주어진다. (i+1)번째 줄은 i번 금고에서 나가는 복도들을 설명한다. 줄의 맨 앞에는 그 금고에서 나가는 복도의 수 d가 오고 (1 ≤ d ≤ n-1), 이어서 d개의 정수 쌍이 온다. 각 쌍은 하나의 복도를 나타내며, 앞의 수는 그 복도가 이어지는 금고 번호, 뒤의 수는 복도의 길이다 (1 이상 100 이하). 모든 복도는 양방향이며 양쪽에서 길이가 같다.
그 다음 줄에는 두 정수 k와 l이 주어진다 (1 ≤ k ≤ 100, 1 ≤ l ≤ 100). k는 경비병의 수, l은 보물을 찾는 데 필요한 정보 조각의 수다. 경비병은 1번부터 k번까지, 정보 조각은 1번부터 l번까지 번호가 매겨져 있다.
다음 k개의 줄에는 각 경비병의 정보가 주어진다 (i번째 줄이 i번 경비병). 각 줄에는 그 경비병이 출발하는 금고 번호, 처음으로 이동하는 금고 번호, 그가 처음에 아는 정보 조각의 수 m (0 ≤ m ≤ l), 그리고 그 m개의 정보 조각 번호가 차례로 주어진다.
첫째 줄에는 보물을 찾는 데 필요한 모든 정보를 언젠가 알게 될 수 있는 경비병의 수를 출력한다.
이어지는 줄에는 그 경비병들의 번호를 오름차순으로 한 줄에 하나씩 출력한다.
