問題文

処理犬君は以下のようなビンゴ大会に参加しました。

  • 今回のビンゴ大会では N×NN \times N のマスにそれぞれ相異なる数字が書かれたカードが使用されます。
  • ランダムな数字が順に読み上げられ、読み上げられた数字が書かれたマスは開けることができます。 (最初から開けることのできるマスは存在しません。)
  • 処理犬君に配られたカードの、上から ii 行目、左から jj 列目 のマスには Ai,jA_{i,j} が書かれています。
  • 今回のビンゴ大会では、 QQ 回数字が読み上げられ、 ii 回目に読み上げられた数字は MiM_i です。

処理犬君が、初めてビンゴを達成するまでに、行われた読み上げの回数を出力してください。 なお、最後まで処理犬君がビンゴできなかった場合は -1 を出力してください。

ここで、ビンゴを達成するとは以下のいずれかのうち少なくとも一つ満たされることを言います。

  • マス目の横の列であって、列に含まれる NN 個のマスのすべてが開いている列が存在する。
  • マス目の縦の列であって、列に含まれる NN 個のマスのすべてが開いている列が存在する。
  • マス目の対角線の列であって、列に含まれる NN 個のマスのすべてが開いている列が存在する。

制約

  • 3N3003 \leq N \leq 300
  • 1Ai,j109(1i,jN)1 \leq A_{i,j} \leq 10^9 \, (1 \leq i,j \leq N)
  • Ai,jAp,q((i,j)(p,q))A_{i,j} \neq A_{p,q} \, ((i,j) \neq (p,q))
  • 1Q1051 \leq Q \leq 10^5
  • 1Mi109(1iQ)1 \leq M_i \leq 10^9 \, (1 \leq i \leq Q)
  • MiMj(ij)M_i \neq M_j \, (i \neq j)
  • 入力は全て整数

入力

N
A_{1,1} A_{1,2} ... A_{1,N}
A_{2,1} A_{2,2} ... A_{2,N}
...
...
A_{N,1} A_{N,2} ... A_{N,N}
Q
M_1
M_2
...
...
M_Q
  • 11 行目にビンゴに使用されるカードの大きさ NN が与えられます。
  • 22 行目から NN 行で、処理犬君に配られたカードの各マスに書かれた数字 Ai,jA_{i,j} が与えられます。
  • N+2N+2 行目に数字が読み上げられた回数 QQ が与えられます。
  • N+3N+3 行目から QQ 行で、読み上げられた数字 MiM_i が順に与えられます。

出力

処理犬君が、初めてビンゴを達成するまでに、行われた読み上げの回数を出力してください。
なお、最後まで処理犬君がビンゴできなかった場合は -1 を出力してください。

入力例 1

3
1 2 3
4 5 6
7 8 9
9
1
2
5
6
3
7
8
9
4

出力例 1

5

処理犬君が、初めてビンゴを達成するまでに、行われた読み上げの回数は 55 回です。よって 55 を出力します。

入力例 2

3
1 2 3
4 5 6
7 8 9
6
10
2
4
6
8
9

出力例 2

-1

カードに書かれていない数字が読み上げられることもあります。
処理犬君は最後までビンゴを達成することはできません。よって 1-1 を出力します。

提出


Go (1.21)