Untitled

 avatar
unknown
plain_text
2 years ago
30 kB
3
Indexable
Painting

The design team at SAMSUNG Electronics considers an innovative design for a new product.

The left figure is the basic diagram and the design team tries to distinguish each area marked by letter of the alphabet with four colors.

When proceeding with this, the design team pursues perfection by researching the combinations of all colors and chooses one of them.

However, they have trouble because they do not know the total number of cases of the color combinations.

Due to this difficulty, you convert the basic diagram on the left to the graph in the center and then you solve the problem by converting it to the adjacency matrix on the right.

The number of cases is 264.
What is the method used to solve this?  (Time Limit : 2 seconds)

[Input]
The adjacency matrix about a basic diagram is entered.

On the first line, the number of the test cases (1<=T <= 10) is given.

On the first line of each test case, the size of the matrix n (1<=n <= 30, n is the positive number).

From the second line, the values of matrix are entered by being distinguished as one blank or other.

[Output]
For each test case, you should print "Case #T" in the first line where T means the case number.
In the second line, print out the total number of cases to paint and distinguish them with four colors for each area.

[Sample Input ]
3

4

0 0 0 1

0 0 0 1

0 0 0 1

1 1 1 0

5

0 1 1 1 0

1 0 0 1 1

1 0 0 1 0

1 1 1 0 1

0 1 0 1 0

7

0 1 0 0 1 0 1

1 0 1 0 1 0 0

0 1 0 1 1 0 0

0 0 1 0 1 1 0

1 1 1 1 0 1 1

0 0 0 1 1 0 1

1 0 0 0 1 1 0


[Sample Output]
Case #1
108

Case #2
96

Case #3
264

[Input]
50
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 
0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 
0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 
0 0 1 1 0 1 1 0 0 1 1 1 1 1 1 
0 1 0 1 1 0 0 1 0 0 1 1 1 0 0 
0 1 1 0 1 0 0 0 0 1 1 1 0 0 0 
0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 
0 1 0 1 1 0 1 1 0 0 1 0 0 1 0 
0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 
0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 
0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 
0 1 1 1 1 0 0 1 0 1 0 0 0 0 1 
0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 
0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 
0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 
0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 
0 1 0 0 1 1 0 0 1 1 1 0 1 1 0 
0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 
0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 
0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 
0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 
0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 
0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 
0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 
18
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 1 0 0 1 0 1 1 1 1 0 0 0 1 0 0 
0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 
0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 
0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 
0 0 0 1 1 0 0 0 1 1 1 0 1 1 0 0 1 0 
0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 
0 0 0 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 
0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 
0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 0 1 
0 1 1 1 0 1 0 1 1 0 0 0 0 0 1 1 1 0 
0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 
0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 
0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 0 
0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 
0 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 
0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 
0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 1 0 1 1 0 0 1 1 0 1 1 1 
0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 
0 1 1 0 0 0 1 1 0 0 1 1 1 0 1 
0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 
0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 
0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 
0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 
0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 
0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 
0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 
0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 
0 1 0 1 1 1 0 1 1 0 1 1 0 0 0 
0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 
0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 
0 0 0 1 1 0 0 1 1 1 0 1 1 0 0 
0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 
0 0 1 0 0 0 1 0 0 0 1 1 1 1 0 
0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 
0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 
0 1 1 0 0 0 1 0 1 1 1 0 1 0 1 
0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 
0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 
0 0 0 0 1 0 0 1 1 1 0 1 1 0 0 
0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 
0 1 1 1 1 0 0 1 1 0 1 0 0 1 0 
0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 
0 1 0 0 0 1 1 1 1 1 0 0 0 1 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 0 0 1 0 1 0 0 1 1 1 1 0 
0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 1 
0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 
0 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 
0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 
0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 
0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 
0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 
0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 
0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 
0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 
0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 
0 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 
0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 
0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 
18
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 0 
0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 
0 1 1 0 0 0 0 1 0 0 1 1 1 0 0 0 1 1 
0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 0 
0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 
0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 
0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 
0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 
0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 0 
0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 
0 1 0 1 0 0 0 0 1 1 1 0 0 1 1 0 0 0 
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 
0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 
0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 
0 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 1 
0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 1 0 1 1 0 0 1 1 0 0 0 1 
0 0 0 0 1 1 1 0 1 0 0 1 1 0 0 1 
0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 
0 1 1 1 0 1 1 0 0 1 1 0 0 1 0 0 
0 0 1 0 1 0 0 1 0 0 0 1 1 1 1 1 
0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 
0 1 0 1 0 1 0 0 0 1 0 0 0 1 1 0 
0 0 1 1 0 0 1 0 0 0 0 0 1 1 1 0 
0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 
0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 
0 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 
0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 
0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 
0 0 0 1 0 1 0 1 1 0 1 0 0 1 0 0 
0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 
0 1 0 1 0 0 1 0 1 0 0 1 1 0 1 0 
0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 
0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 
0 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 
0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 
0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 
0 1 1 1 0 1 1 0 0 0 0 0 1 0 1 1 
0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 
0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 
0 0 1 1 0 1 0 0 0 0 1 0 0 1 0 1 
0 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 
0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 
0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 
0 1 0 0 0 0 1 1 1 1 0 1 0 0 1 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 
0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 
0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 
0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 
0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 
0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 
0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 
0 1 1 1 1 1 0 1 0 1 0 1 0 0 0 
0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 
0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 
0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 
0 1 1 1 0 0 1 0 0 1 1 1 0 1 0 
0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 
0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 
0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 
0 0 1 0 1 0 1 0 0 0 0 1 0 1 1 
0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 
0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 
0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 
0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 
0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 
0 0 1 0 1 1 0 1 0 0 0 0 0 1 1 
0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 
0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 
0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 
0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 
0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 
0 1 0 1 0 1 0 0 0 0 1 1 1 0 1 
0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 
0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 
0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 
0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 
0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 
0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 
0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 
0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 
0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 
0 0 1 0 1 0 1 0 0 1 1 0 0 1 1 
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 
0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 1 
0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 
0 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 
0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 
0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 
0 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 
0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 
0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 
0 0 0 1 1 0 0 0 0 0 0 1 0 1 1 0 
0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 
0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 
0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 
0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 
0 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 
0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 1 0 0 1 0 1 0 1 1 1 1 
0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 
0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 
0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 
0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 
0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 
0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 
0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 
0 1 1 0 1 0 0 1 1 0 1 0 1 0 0 
0 0 1 1 1 1 0 1 0 1 0 0 1 1 0 
0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 
0 1 0 0 0 0 1 1 1 1 1 0 0 1 0 
0 1 1 0 0 0 1 0 0 0 1 1 1 0 0 
0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 
0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 
0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 
0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 
0 1 0 0 0 0 1 0 1 1 0 0 1 1 0 
0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 
0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 
0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 
0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 
0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 
0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 
0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 
0 0 1 0 1 1 0 0 0 1 1 0 1 0 0 
0 0 0 0 1 0 0 1 1 1 1 1 0 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 1 0 1 1 1 0 1 0 1 1 
0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 
0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 
0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 
0 1 1 1 0 0 1 0 0 0 0 1 0 1 1 
0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 
0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 
0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 
0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 
0 0 1 0 1 0 1 1 0 0 0 0 1 0 1 
0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 
0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 
0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 
0 1 0 1 0 1 0 0 0 1 1 1 1 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 
0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 
0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 
0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 
0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 
0 1 0 0 1 0 0 0 1 0 1 1 0 0 1 
0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 
0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 
0 0 0 0 1 0 1 0 1 1 0 1 1 1 1 
0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 
0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 
0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 
0 0 1 1 0 1 1 0 0 1 1 1 0 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 1 0 1 0 1 1 0 1 0 0 0 
0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 
0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 
0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 
0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 
0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 
0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 
0 1 1 1 1 1 0 0 0 1 0 1 0 1 1 
0 1 0 1 0 0 1 0 1 0 1 1 1 1 1 
0 0 0 1 1 1 0 0 0 1 0 1 1 0 0 
0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 
0 0 1 0 0 0 0 1 0 1 1 0 0 0 1 
0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 
0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 
0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 
0 1 1 0 1 0 1 0 0 0 1 0 1 0 0 0 
0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 
0 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 
0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 
0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 
0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 
0 0 1 1 1 0 0 0 0 1 0 0 0 0 1 0 
0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 
0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 
0 0 1 0 1 1 0 0 0 1 0 1 1 0 0 1 
0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 
0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 1 
0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 
0 0 1 0 1 1 0 1 1 0 1 0 0 1 0 0 
0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 
0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0 
0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 
0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 1 
0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 0 
0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 
0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 
0 1 0 0 1 1 1 0 0 1 1 0 0 0 1 0 
0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 
0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 
0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 
0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 
0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 
0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 
0 0 1 0 0 1 1 0 1 1 0 1 1 1 1 
0 0 0 1 1 0 0 0 0 1 1 1 1 1 0 
0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 
0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 
0 0 1 1 1 0 0 0 0 0 1 0 1 0 1 
0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 
0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 
0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 
0 0 0 1 1 1 1 0 1 1 0 0 0 0 1 
0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 
0 1 0 1 1 0 0 0 1 0 0 1 1 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 
0 1 0 0 1 1 0 0 0 0 0 0 1 1 0 
0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 
0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 
0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 
0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 
0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 
0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 
0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 
0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 
0 0 0 0 0 1 1 0 0 1 0 0 1 1 0 
0 1 1 0 1 1 1 1 1 1 0 1 0 0 0 
0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 
0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 
0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 
0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 
0 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 
0 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1 
0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1 
0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 
0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 0 
0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 
0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 
0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 
0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 
0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 
18
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 1 
0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 1 
0 1 1 0 1 1 1 0 0 1 1 0 1 0 0 0 1 0 
0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 
0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 1 
0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 1 1 
0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 
0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 
0 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 
0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 0 
0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 1 1 
0 0 0 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 
0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 
0 1 1 0 0 1 0 1 1 0 1 1 1 0 0 1 0 1 
0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 
0 1 1 1 0 0 1 1 1 0 1 1 1 1 0 1 0 0 
0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0 0 0 
19
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 
0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 0 0 0 
0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 
0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 
0 1 1 0 0 0 0 1 1 0 0 1 0 0 1 1 0 0 1 
0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 
0 0 1 0 1 1 0 0 1 0 0 0 1 0 0 1 1 0 1 
0 1 0 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 
0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 
0 1 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 1 0 
0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 
0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 
0 1 0 1 1 0 1 0 1 1 1 0 0 0 0 1 1 1 0 
0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 
0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 
0 0 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 
0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 0 
0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 
0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 
0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 
0 1 0 0 0 0 0 0 1 0 1 1 1 0 1 
0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 
0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 
0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 
0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 
0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 
0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 
0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 
0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 
0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 
0 1 1 1 1 0 1 0 0 0 1 1 0 1 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 
0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 
0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 
0 0 0 1 0 1 1 1 1 1 1 1 0 1 0 
0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 
0 0 1 1 1 0 0 1 1 0 0 0 1 0 1 
0 0 1 1 1 1 1 0 0 0 1 0 1 0 1 
0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 
0 1 1 0 1 0 0 0 0 0 1 0 1 1 0 
0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 
0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 
0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 
0 0 0 1 1 0 0 0 0 1 1 1 0 0 1 
0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 1 
0 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 
0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 
0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 
0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 
0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 
0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 
0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 
0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 
0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 
0 0 1 0 0 0 1 1 0 0 1 0 0 1 1 1 
0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 
0 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 
0 0 1 1 1 1 1 0 0 1 0 1 0 0 0 0 
0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 
0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 
0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 
0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 
0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 
0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 
0 0 1 0 1 0 0 0 0 1 0 1 1 1 1 
0 1 0 1 0 1 0 0 0 0 0 0 1 1 1 
0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 
0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 
0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 
0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 
0 1 1 1 0 0 0 1 1 0 0 0 0 0 1 
0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 1 
0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 
0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 
0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 
0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 0 
0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 
0 1 1 0 1 1 1 0 0 0 0 0 0 1 0 0 
0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 
0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 
0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1 
0 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 
0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 
0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 
0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 
0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 
19
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 
0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 1 0 
0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0 
0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 
0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 
0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 
0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 
0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 0 
0 1 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 
0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 
0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1 
0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 
0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 
0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1 
0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 
0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 
0 0 1 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 
0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 0 
17
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 
0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 
0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 
0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 
0 0 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 
0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 
0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 
0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 
0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 
0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 
0 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 
0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 
0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 
0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 
0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 
0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 1 0 0 1 1 0 1 1 0 0 1 
0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 
0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 
0 1 1 0 0 1 0 0 1 1 1 0 0 0 1 
0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 
0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 
0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 
0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 
0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 
0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 
0 1 0 1 0 0 0 1 1 1 0 0 1 0 0 
0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 
0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 
0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 
0 1 0 0 1 1 1 0 1 0 1 0 1 0 0 
0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 
0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 
0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 
0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 
0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 
0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 
0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 
0 1 1 1 0 0 0 1 0 1 0 1 1 0 0 
0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 
0 0 1 0 1 0 1 0 1 1 1 0 0 1 0 
0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 
0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 
18
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 
0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1 
0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 
0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 1 1 0 
0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 
0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 
0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 
0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0 
0 0 1 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 
0 1 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 
0 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 1 0 
0 0 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 1 
0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 0 
0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 
0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 
0 0 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 
0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 
17
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 
0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 
0 1 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 
0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 
0 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 
0 1 0 1 1 0 0 1 0 0 0 0 0 1 1 1 0 
0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 
0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 
0 0 0 0 1 1 0 0 1 0 0 1 1 0 1 1 0 
0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 
0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 
0 1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 1 
0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 
0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 1 
0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 
0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 1 0 0 1 0 1 0 1 0 0 0 
0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 
0 1 1 0 0 1 1 0 0 0 1 0 0 1 0 1 
0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 
0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 1 
0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 
0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 
0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0 
0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 0 
0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 0 
0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 
0 1 0 0 0 1 0 1 1 1 1 1 0 0 0 1 
0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 
0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 
0 0 1 1 0 1 1 0 0 0 0 1 1 1 0 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 1 1 0 1 1 1 0 0 0 0 1 1 
0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 
0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 1 
0 1 1 0 0 0 0 1 1 1 0 1 0 0 0 1 
0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 
0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 1 
0 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 
0 1 1 0 1 1 0 0 0 0 1 0 0 0 1 1 
0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 
0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1 
0 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0 
0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 
0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 
0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 
0 1 0 1 1 1 1 1 1 0 1 0 0 1 0 0 
17
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 
0 0 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 
0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 
0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 
0 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 
0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 
0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 1 1 
0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 
0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 0 1 
0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 
0 0 0 1 0 1 1 0 0 1 0 0 1 0 1 0 0 
0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 
0 0 1 0 1 1 0 0 0 1 0 0 1 0 1 1 0 
0 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 1 
0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 
0 1 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 
0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 
0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 
0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 
0 1 0 1 0 0 1 1 1 0 0 0 1 1 0 1 
0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 
0 0 1 0 1 1 0 0 0 0 1 1 0 0 0 0 
0 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 
0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 0 
0 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 
0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 
0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 
0 0 1 0 0 1 1 0 1 1 1 0 0 0 0 1 
0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 
0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 
0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 
0 1 1 0 1 0 1 1 0 0 0 0 1 1 1 
0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 
0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 
0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 
0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 
0 1 0 0 1 0 1 0 0 1 1 1 1 0 0 
0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 
0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 
0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 
0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 
0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 
0 1 0 1 1 0 0 0 0 0 1 0 1 0 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 
0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 
0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 1 
0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 
0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0 
0 0 0 1 1 0 1 0 0 1 0 0 0 1 0 0 
0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 
0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 
0 0 0 1 1 0 1 0 1 0 0 0 1 1 0 0 
0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 
0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 
0 0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 
0 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 
0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 
0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 0 
0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 
0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 
0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 
0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 
0 1 1 0 1 0 0 0 1 1 1 0 1 0 0 1 
0 1 0 1 1 1 1 1 0 0 0 1 0 0 1 0 
0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 
0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 
0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 1 
0 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 
0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 
0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 0 
0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 
0 1 0 1 0 1 1 0 0 0 1 0 1 0 1 
0 0 1 0 1 1 1 0 0 1 0 0 1 0 1 
0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 
0 0 1 1 0 0 0 1 0 0 0 1 1 0 1 
0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 
0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 
0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 
0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 
0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 
0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 
0 1 1 1 1 1 1 1 0 0 1 0 0 0 0 
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 
0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 1 1 1 1 0 0 1 1 1 1 0 
0 1 0 0 0 0 0 1 1 0 0 0 1 1 0 
0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 
0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 
0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 
0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 
0 1 1 0 0 1 1 0 0 0 0 1 0 1 0 
0 0 1 0 1 1 1 0 0 1 0 1 1 1 1 
0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 
0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 
0 1 0 1 0 0 0 1 1 0 0 0 1 0 1 
0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 
0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 
0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 
18
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 
0 1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 
0 1 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 0 
0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 
0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 
0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 0 0 0 
0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 
0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 
0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 
0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 
0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 
0 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 0 1 
0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 
0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 
0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 
0 1 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 
0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 
0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 
0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 
0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 
0 0 1 0 0 0 1 0 1 1 1 0 1 1 0 
0 1 0 1 1 1 0 1 0 1 1 1 0 0 0 
0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 
0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 
0 0 1 1 1 1 1 0 1 0 1 0 0 1 0 
0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 
0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 
0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 
0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 
0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 
0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 
0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 
0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 
0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 
0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 
0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 
0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 
0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 1 
0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 0 
0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 
0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 
0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 
0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 1 
0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 
18
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 
0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 
0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 
0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 0 1 
0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 
0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 1 
0 1 0 1 1 0 1 0 0 0 1 1 0 0 1 0 1 1 
0 1 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 0 
0 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 
0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 
0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 
0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 
0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 
0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 0 
0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 
0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 
0 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 0 0 
16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 
0 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 
0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 
0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 
0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 
0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 
0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 1 1 0 0 0 1 0 1 0 1 0 1 
0 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 
0 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 
0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 
0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 
0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 
0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 1 
0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0

[Output]

Case #1
864
Case #2
1152
Case #3
96
Case #4
96
Case #5
1152
Case #6
576
Case #7
2496
Case #8
384
Case #9
96
Case #10
5280
Case #11
384
Case #12
2688
Case #13
384
Case #14
5760
Case #15
2112
Case #16
384
Case #17
9792
Case #18
2304
Case #19
2208
Case #20
192
Case #21
1536
Case #22
576
Case #23
768
Case #24
192
Case #25
1152
Case #26
2784
Case #27
192
Case #28
1440
Case #29
192
Case #30
14208
Case #31
96
Case #32
192
Case #33
384
Case #34
3840
Case #35
192
Case #36
192
Case #37
768
Case #38
1152
Case #39
192
Case #40
1152
Case #41
480
Case #42
10368
Case #43
288
Case #44
288
Case #45
96
Case #46
384
Case #47
192
Case #48
96
Case #49
576
Case #50
192

[Code]
#include <iostream>
using namespace std;

int N;
int a[100][100];
int color[100];
int ans;

void reset(){
	for(int i = 0; i < N; i++){
		color[i] = -1;
	}
}

bool checkColor(int u, int c){
	for(int v = 0; v < N; v++){
		if(a[u][v] == 1 && color[v] == c){
			return false;
		}
	}
	return true;
}

void Try(int u){
	for(int c = 0; c < 4; c++){
		if(checkColor(u, c)){
			if(u == N - 1){
				ans++;
			}else{
				color[u] = c;
				Try(u+1);
			}
			color[u] = -1;
		}
	}
}

int main(){
	freopen("input.txt", "r", stdin);
	int T; cin >> T;

	for(int tc = 1; tc <= T; tc++){
		cin >> N;

		for(int i = 0; i < N; i++){
			for (int j = 0; j < N; j++){
				cin >> a[i][j];
			}
		}

		reset();
		ans = 0;
		Try(0);

		cout << "Case #" << tc << endl;
		cout << ans << endl;
	}

	return 0;
}
Editor is loading...