AT_past19_g 結合律

Description

$ N $ 行 $ N $ 列の行列 $ A $ が与えられます。 $ A $ の $ i $ 行 $ j $ 列の要素を $ A(i,j) $ と表記します。 $ A $ の要素のうちちょうど $ 1 $ つが $ 0 $ で、それ以外の $ N^2-1 $ 個は $ 1 $ 以上 $ N $ 以下の整数です。 $ A $ の要素として唯一存在する $ 0 $ を $ 1 $ 以上 $ N $ 以下の整数で置き換える方法であって、置き換えた後の $ A $ が以下の条件を満たすようなものの数を求めてください。 - 全ての $ 1\leq i,j,k\leq N $ について、 $ A(A(i,j),k)=A(i,A(j,k)) $

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ A(1,1) $ $ A(1,2) $ $ \dots $ $ A(1,N) $ $ A(2,1) $ $ A(2,2) $ $ \dots $ $ A(2,N) $ $ \vdots $ $ A(N,1) $ $ A(N,2) $ $ \dots $ $ A(N,N) $

Output Format

答えを整数として出力せよ。

Explanation/Hint

### Sample Explanation 1 $ A(2,2) $ が $ 0 $ なので、これを $ 1 $ 以上 $ 3 $ 以下の整数で置き換えたそれぞれの場合について条件を満たすか考えます。 - $ A(2,2) $ を $ 1 $ で置き換えたとき:条件を満たしません。例えば、 $ (i,j,k)=(2,2,3) $ のとき、 $ A(A(i,j),k)=3 $ ですが $ A(i,A(j,k))=2 $ です。 - $ A(2,2) $ を $ 2 $ で置き換えたとき:条件を満たしません。例えば、 $ (i,j,k)=(3,3,2) $ のとき、 $ A(A(i,j),k)=2 $ ですが $ A(i,A(j,k))=3 $ です。 - $ A(2,2) $ を $ 3 $ で置き換えたとき:条件を満たします。全ての $ 1\leq i,j,k\leq N $ について、 $ A(A(i,j),k)=A(i,A(j,k)) $ が成立します。 よって、答えは $ 1 $ です。 ### Constraints - $ 1\leq N \leq 300 $ - $ 0\leq A(i,j)\leq N $ - $ A(i,j)\ (1\leq i,j\leq N) $ の中に $ 0 $ であるものはちょうど $ 1 $ つ存在する - 入力は全て整数