#abc271f. [abc271_f]XOR on Grid Path

[abc271_f]XOR on Grid Path

問題文

NNNN 列のマス目があり、上から i,(1leqileqN)i \\, (1 \\leq i \\leq N) 行目、左から j,(1leqjleqN)j \\, (1 \\leq j \\leq N) 列目のマスを (i,j)(i, j) と表します。
マス (i,j)(i, j) には非負整数 ai,ja_{i, j} が書かれています。

マス (i,j)(i, j) にいるとき、マス (i+1,j),(i,j+1)(i+1, j), (i, j+1) のいずれかに移動することができます。ただし、マス目の外に出るような移動はできません。

マス (1,1)(1, 1) から移動を繰り返してマス (N,N)(N, N) にたどり着く方法であって、通ったマス(マス (1,1),(N,N)(1, 1), (N, N) を含む)に書かれた整数の排他的論理和が 00 となるようなものの総数を求めてください。

排他的論理和とは 整数 a,ba, b の排他的論理和 aoplusba \\oplus b は、以下のように定義されます。

  • aoplusba \\oplus b を二進表記した際の 2k,(kgeq0)2^k \\, (k \\geq 0) の位の数は、a,ba, b を二進表記した際の 2k2^k の位の数のうち一方のみが 11 であれば 11、そうでなければ 00 である。

例えば、3oplus5=63 \\oplus 5 = 6 となります(二進表記すると 011oplus101=110011 \\oplus 101 = 110)。
一般に kk 個の整数 p1,dots,pkp_1, \\dots, p_k の排他的論理和は $(\\cdots ((p_1 \\oplus p_2) \\oplus p_3) \\oplus \\cdots \\oplus p_k)$ と定義され、これは p1,dots,pkp_1, \\dots, p_k の順番によらないことが証明できます。

制約

  • 2leqNleq202 \\leq N \\leq 20
  • $0 \\leq a_{i, j} \\lt 2^{30} \\, (1 \\leq i, j \\leq N)$
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられる。

NN a1,1a_{1, 1} ldots\\ldots a1,Na_{1, N} vdots\\vdots aN,1a_{N, 1} ldots\\ldots aN,Na_{N, N}

出力

答えを出力せよ。


入力例 1

3
1 5 2
7 0 5
4 2 3

出力例 1

2

次の二通りの方法が条件を満たします。

  • $(1, 1) \\rightarrow (1, 2) \\rightarrow (1, 3) \\rightarrow (2, 3) \\rightarrow (3, 3)$
  • $(1, 1) \\rightarrow (2, 1) \\rightarrow (2, 2) \\rightarrow (2, 3) \\rightarrow (3, 3)$

入力例 2

2
1 2
2 1

出力例 2

0

入力例 3

10
1 0 1 0 0 1 0 0 0 1
0 0 0 1 0 1 0 1 1 0
1 0 0 0 1 0 1 0 0 0
0 1 0 0 0 1 1 0 0 1
0 0 1 1 0 1 1 0 1 0
1 0 0 0 1 0 0 1 1 0
1 1 1 0 0 0 1 1 0 0
0 1 1 0 0 1 1 0 1 0
1 0 1 1 0 0 0 0 0 0
1 0 1 1 0 0 1 1 1 0

出力例 3

24307