#cf16exhibitionfinalh. [cf16_exhibition_final_h]AB=C Problem

[cf16_exhibition_final_h]AB=C Problem

問題文

すぬけ君は誕生日プレゼントとして二つの行列 AABB をもらいました。 それぞれの行列は 0011 のみからなる NNNN 列の行列です。

すぬけ君は、行列の積 C=ABC = AB を計算しました。 全ての計算を modulo 2 で行ったので、 CC0011 のみからなる NNNN 列の行列です。 1i,jN1 ≤ i, j ≤ N について、行列 CC(i,j)(i, j) 成分 ci,jc_{i, j} が与えられます。

しかし、すぬけ君は間違って行列 AABB を食べてしまったので、CC のみを知っています。 (順序付きの) 行列の組 (AA, BB) が何通り考えられるか、modulo 109+710^9+7 で求めてください。

制約

  • 1N3001 ≤ N ≤ 300
  • ci,jc_{i, j}00 または 11 である

入力

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

NN c1,1c_{1, 1} ...... c1,Nc_{1, N} : cN,1c_{N, 1} ...... cN,Nc_{N, N}

出力

(順序付きの) 行列の組 (AA, BB) が何通り考えられるか、modulo 109+710^9+7 で出力せよ。


入力例 1

2
0 1
1 0

出力例 1

6

入力例 2

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

出力例 2

741992411