#D11. AB=C Problem

    ID: 7 Type: Default 3000ms 268MiB

AB=C Problem

AB=C Problem

Snuke received two matrices A and B as birthday presents. Each of the matrices is an N by N matrix that consists of only 0 and 1.

Then he computed the product of the two matrices, C = AB. Since he performed all computations in modulo two, C was also an N by N matrix that consists of only 0 and 1. For each 1 ≤ i, j ≤ N, you are given c_{i, j}, the (i, j)-element of the matrix C.

However, Snuke accidentally ate the two matrices A and B, and now he only knows C. Compute the number of possible (ordered) pairs of the two matrices A and B, modulo 10^9+7.

Constraints

  • 1 ≤ N ≤ 300
  • c_{i, j} is either 0 or 1.

Input

The input is given from Standard Input in the following format:

N c_{1, 1} ... c_{1, N} : c_{N, 1} ... c_{N, N}

Output

Print the number of possible (ordered) pairs of two matrices A and B (modulo 10^9+7).

Examples

Input

2 0 1 1 0

Output

6

Input

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

Output

741992411

inputFormat

Input

The input is given from Standard Input in the following format:

N c_{1, 1} ... c_{1, N} : c_{N, 1} ... c_{N, N}

outputFormat

Output

Print the number of possible (ordered) pairs of two matrices A and B (modulo 10^9+7).

Examples

Input

2 0 1 1 0

Output

6

Input

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

Output

741992411

样例

2
0 1
1 0
6