Untitled
unknown
plain_text
2 years ago
30 kB
4
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...