English text is not available in this practice contest.
ICPC (International Committee of Privacy and Confidence) は世界中に多くの構成員を持つ組織であり、その名の通り非常にプライバシーを尊重する、秘密主義者たちの団体である。構成員たちは必要上他の構成員の個人情報を知ってしまうことがあるが、それらを厳重に秘匿するよう義務付けられている。
しかしある日、何人かの構成員の個人情報が漏洩してしまった!ICPCの ACM (Account Control Manager: アカウント管理責任者) であるあなたは、速やかに情報を漏洩させた構成員を特定し、厳重に処分しなければならない。
あなたは構成員よりも大きな権限を持つ管理者なので、誰が誰の個人情報を知ってしまっているかを完全に把握している。もちろん、どの構成員も自分の知らない構成員の個人情報を漏洩させることはありえない。しかし、犯人は自分が知っている全ての個人情報を漏洩させたとは限らない。個人情報が漏洩してしまった構成員の一覧から、どの構成員が個人情報を漏洩させたのかを (可能ならば) 特定しよう。
ところで、ICPC という組織が何を目的として活動しているのかは最重要機密であり、管理者の権限をもってしても知ることはできない。
入力ファイルは複数のデータセットを含む。1 つのデータセットは、以下の形式で与えられる。
N
M1 p1,1 p1,2... p1,M1
M2 p2,1 p2,2... p2,M2
:
MN pN,1 pN,2... pN,MN
K l1 l2... lK
N (2 ≤ N ≤ 100) は構成員の数を表す整数である。それぞれの構成員には 1 から N までの番号が振られている。 続く N 行には各構成員の番号順に、その構成員が知っている個人情報の一覧が与えられる。各行の最初の整数 Mi (0 ≤ Mi ≤ N)は、後に続く整数の個数を表す。残りの整数は、その構成員が個人情報を知っている構成員の番号を表す。 最後の行には、個人情報が漏洩した構成員の一覧が示される。 K (1 ≤ K ≤ N) は漏洩した構成員の人数を表し、残りの整数は漏洩した構成員の番号を表す。
入力は正しく与えられると仮定してよい。つまり、ある構成員が知っている個人情報の一覧として、同じ構成員の番号が 2 回以上与えられたり、存在しない構成員の番号が与えられることはない。漏洩した構成員の番号の一覧も同様である。
N = 0 のとき、入力は終了する。
個人情報を漏洩させた構成員を特定できるならば、その構成員の番号を出力せよ。特定できない場合 -1 を出力せよ。
特定できない場合には、次の 2 つのケースがある。 1 つは、流出させた可能性がある構成員が 2 人以上挙げられる場合である。もう 1 つは、どの構成員が流出させたと仮定しても矛盾が生じる場合である。どちらの場合でも、あなたのプログラムは -1 と出力しなければならない。
3 2 2 3 1 1 1 1 2 2 3 3 2 2 3 1 3 1 2 1 2 5 3 1 3 4 4 1 3 4 5 2 1 3 2 1 2 0 3 1 3 5 3 2 2 1 1 1 1 2 3 3 2 1 0
1 -1 2 -1