eolymp
bolt
Try our new interface for solving problems
Problems

Cairo Corridor

Cairo Corridor

The Cairo pentagonal tiling is a decomposition of the plane using semiregular pentagons. Its name is given because several streets in Cairo are paved using variations of this design.

Consider a bounded tiling where each pentagon is either clear (white) or filled in (grey). A corridor is a maximal set of clear adjacent pentagons that connect the four borders of the tiling. Pentagons are considered adjacent if they share an edge, not just a corner. It is easy to verify that there can be at most one corridor in each tiling. A corridor is said to be minimal if it has no superfluous pentagon, that is, if any pentagon of the corridor was filled in, the set of remaining pentagons would not be a corridor.

prb7938.gif

The figure above depicts four example tilings. In the first three cases, there is a corridor which is highlighted in yellow. Besides, the corridors of figures (a) and (b) are minimal, but the one in figure (c) is not: for example, the tiles marked 'X' (among others) could be filled in and a corridor would still exist. In the rightmost tiling there is no corridor. The tilings shown in figures (a) and (c) correspond to sample input 1.

Write a program that reads textual descriptions of Cairo tilings, and for each one determines if a corridor exists and is minimal. In the latter case, the program should compute the size of the corridor, i.e., the number of clear pentagonal tiles of the corridor.

Input

The first line is a positive decimal integer t (1t10) of tilings to be processed. Each tiling description k has a first line with two positive decimal integers, nk and mk (1n1 + n2 + ... + nt250 - total number of lines, 1m1 + m2 + ... + mt250 - total number of tile pairs), separated by a space. The following nk lines contain 2 * mk binary digits representing pairs aij, bij of tiles (0 is clear and 1 is full) in alternating horizontal/vertical adjacency following a "checkerboard" pattern, as is illustrated in the figure below.

prb7938_1.gif

Output

The output consists of t lines; the k-th line should be the size of the corridor of the k-th tiling, if there exists a minimal corridor, and NO MINIMAL CORRIDOR, otherwise.

Time limit 1 second
Memory limit 128 MiB
Input example #1
2
6 6
010101001001
001000101100
110101001101
010010000100
001110110010
001001101010
6 6
010010110010
001100100111
000110100101
011001100101
100100011100
011010001101
Output example #1
17
NO MINIMAL CORRIDOR
Input example #2
1
3 4
11110111
01000000
11110111
Output example #2
9
Source 2016 ACM Southwestern Europe Regional Contest (SWERC), Problem G