Problem Statement
We have a system which contains a rectangular array of components. Some of these components may have already failed but the system is highly redundant. The system will be able to work as long as there is at least one collection of n or more working components that are connected. A pair of components are connected if there is a path of adjacent components (horizontally, vertically, or diagonally) within the collection that goes from one component to the other component. A collection of components is connected if all pairs of components within the collection are connected.
We want to be able to estimate the chances of system failure. We call a component "critical" if its failure would bring down the system. Create a class SysFailure that contains a method critical that is given n and the current state of the rectangular array and that returns the number of critical components. If the system has already failed, return -1.
state will be given by a
Definition
- Class:
- SysFailure
- Method:
- critical
- Parameters:
- int, String[]
- Returns:
- int
- Method signature:
- int critical(int n, String[] state)
- (be sure your method is public)
Constraints
- n will be between 1 and 1000, inclusive.
- state will contain between 1 and 50 elements, inclusive.
- Each element of state will contain the same number of characters.
- The number of characters in an element of state will be between 1 and 50, inclusive.
- Each element of state will contain only '1's and '0's (ones and zeroes).
Examples
4
{ "00000", "00000", "11111" }
Returns: 3
The 3 components in the center of the bottom row are critical.
6
{ "01010", "10001", "11011", "10001", "01010"}
Returns: 0
There are 2 separate collections of 6 connected working components. No matter which component fails, one of these collections will still be able to keep the system working. So there are no critical components.
4
{ "111", "111" }
Returns: 0
Whichever component fails, there will still be 5 working components connected together.
2
{ "101" }
Returns: -1
This system has already failed -- it has 2 groups of connected working components, but neither working group has 2 or more components.
3
{ "111", "100" }
Returns: 1
1000
{"00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000","00000000000000000000000000000000000000000000000000"}
Returns: -1
1000
{"11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111","11111111111111111111111111111111111111111111111111"}
Returns: 0
12
{"110111011101110", "111000100000001", "100000011111111" }
Returns: 0
13
{"110111011101110", "111000100000001", "100000011111111" }
Returns: 1
23
{"110111011101110", "111000100000001", "100000011111111" }
Returns: 15
15
{"110111011101110", "111000100000001", "100000011111111" }
Returns: 3
16
{"110111011101110", "111000100000001", "100000011111111" }
Returns: 4
1
{"1"}
Returns: 1
4
{"1111111"}
Returns: 1
5
{"1110", "0111"}
Returns: 0
598
{"0000000000000000100", "0100000010000000100", "0000100000000000000", "0000000000000000000", "0000010000000001000", "0010000100001000001", "0001000000000000000", "0001100000000000000", "0000010100010000010", "0000000000100000100", "0000100000000000001", "0000000000000000000", "0010000000000100000", "0000000000100000000", "0001000000000010000", "0000000000000001000", "1000000000000000101", "0000000100000100010", "0001000000000000000", "0000000001000000000", "0010100000000000000", "1001000000000000100", "1010000000100000000", "1100000100100100000", "0000010000000000000", "0100000100000000000", "0001000000000000000", "0100100000000000010", "0000001000000000000", "1001000100000000000", "1000000000000000000", "0010011001000000000", "0000110000000100000", "0000000001000000010", "0000001000000000000", "0100100000100000000", "0100001000000001000", "0000000000000000000", "0000000000000000010"}
Returns: -1
72
{"0100011000001000", "1000001001101000", "0010001000000000", "0100100001000000", "0000010000100010", "1000000000110100", "1110110110000001", "0000000000001000", "0011101000111000", "0011000001000001", "0010011000100000", "0000010001001010", "0100010100010000", "0011100101101100", "1101000000000001", "1110000101110100", "0001010000000011", "0100011000000101", "1111011001100001", "1010001001111001", "0100010000101111", "1111010000000010", "0011110100101101", "0000100100110100", "1110000000010011", "0110001000100100", "1001001010101010", "0000110010101000", "0101000000111001", "0010000100000101", "0100000011101000", "0010110000000100", "0000100110011010", "0101001001100000", "0000011000000000", "0101101010001101", "0000000111000001", "1000001011010000", "1110000101010011", "1000011100100010", "0010000010000001", "0000001000010000", "1000100110010000", "1010011000011101", "1100010110010011", "1001000011001001"}
Returns: -1
748
{"11110111011100101011111", "11101111101110111111101", "11111111111011111100111", "01111111000111111101111", "11010010111111111111111", "11100010100100111111111", "00110001111011111110101", "11111111101110111110111", "11101111111100111011011", "11110110110011111110111", "11111111111111000110011", "01111110111110011111111", "11111111111001110101001", "01101111111111101101110", "01111111011001011111111", "10001110100011111111111", "10011100111111011000010", "10110101111111111111111", "11111011011111011111010", "10110111111101111011111", "11110111111011111111011", "01111111111111011110111", "01011110111011111101111", "11111111111110110110110", "01111111111110111110010", "11011111111111111010111", "11011111111111111111110", "00111111111011011110111", "10101111111110110111101", "11110111111110110111111", "00111111100111111111101", "11110110111111111111111", "01111111110111111111011", "10111011001011111011011", "10101110111111111111011", "11111111110101111101111", "10111111000111110111101", "10111100111100011010111"}
Returns: -1
143
{"1011111011110001001111110", "1000011011010111001000111", "1010111110111110111000000", "1011111001011001101101010", "1110111101010111111001011", "1010010100111100100111111"}
Returns: -1
925
{"1010000000000010011010000001000000000", "0000100000100000100000010000000100000", "1000000010100100000000110110000111100", "0000000000110100011000000000000000111", "0000000001100000010000010010010000000", "0010000000010000100000001110000001000", "0000000110010000001000001001100001000", "0100000001101000001001000000110010000", "0100111000000001000010000000010000000", "0001100000000000000010100000100000000", "0000010100000110010000000000001001000", "0000010001000000001000101100000000000", "0100011000100000010000000010110001100", "0000000000000000000000010000000000000", "1000110000001000011001000000101000101", "0000010000000100000000000000100101000", "1100000110110010100001100000000110000", "0010000000010010000000001000010010000", "0100000111010101001000000000000000010", "0001100100000000000000000100010000100", "0000100100100000000000000001000000001", "0100000000001000101100100000100100100", "0000101000010100000001100000010100000", "0011000001100001000000000000000100000", "0000010000100000010000000000000000000", "0001010000000001100010000000000001001", "0000001000000001000100000000001000010", "0000010000010010000000001010000000000", "0011000100010000000000001010110100000", "1000000001011111000000001000111010001", "1100000000001001000011000000000000101", "0100000000000000001000000100001000100", "0000000001000110000100101000001000000", "0000100000101110000000000000000001110", "0000001000000001001010000100000000000", "0111000100110101000000100000000000000", "0000000000000000011110010100000010000", "0001001000000110001010100001000000010"}
Returns: -1
16
{"1100110000011", "1000001010010"}
Returns: -1
5
{"00", "00", "00", "01", "10", "00", "00", "00", "01", "00", "10", "00", "00", "10", "01", "00", "00", "00", "00", "00", "00", "10", "01", "00", "10", "00", "00", "00", "00", "01", "00", "01", "01", "01", "10", "10", "11", "10", "00", "10", "00", "00", "10", "00", "00", "00", "00", "00", "01", "11"}
Returns: 2
6
{"00", "00", "00", "01", "10", "00", "00", "00", "01", "00", "10", "00", "00", "10", "01", "00", "00", "00", "00", "00", "00", "10", "01", "00", "10", "00", "00", "00", "00", "01", "00", "01", "01", "01", "10", "10", "11", "10", "00", "10", "00", "00", "10", "00", "00", "00", "00", "00", "01", "11"}
Returns: 3
7
{"00", "00", "00", "01", "10", "00", "00", "00", "01", "00", "10", "00", "00", "10", "01", "00", "00", "00", "00", "00", "00", "10", "01", "00", "10", "00", "00", "00", "00", "01", "00", "01", "01", "01", "10", "10", "11", "10", "00", "10", "00", "00", "10", "00", "00", "00", "00", "00", "01", "11"}
Returns: 4
8
{"00", "00", "00", "01", "10", "00", "00", "00", "01", "00", "10", "00", "00", "10", "01", "00", "00", "00", "00", "00", "00", "10", "01", "00", "10", "00", "00", "00", "00", "01", "00", "01", "01", "01", "10", "10", "11", "10", "00", "10", "00", "00", "10", "00", "00", "00", "00", "00", "01", "11"}
Returns: 8
6
{"000000110000000000001001000", "001000000000000010000000000", "000000000001000000100000000", "001001000000000000000000000", "001000000000000000001000000", "100000000000000000000001011", "100010000000010000000000000", "000001010000001000000000010", "000010000000000000000000000", "000000000000000000000010000", "100000010100110000000000000", "000001001010000000000000010", "000010010100000000000100000", "000000000100100000010000000", "000000001000000000000000001", "000000000000000000000000000", "000000000100000000001001100", "010000001101000010001000000", "000100000000010000000000000", "000000101101000001001001010", "010000000100000000100000000", "000000000000000001000000000", "000000010000000000000010001", "001000000000000100000001010", "000000000000000100000000001", "000000010100000100000000000", "100000000001000000000101000", "100010001000100000000010000", "000000000000000000000000000", "000000000000000010000000000", "000000000000100000000000000", "100000000000000000000000100", "000000100000101000010100000", "000000000000000101000000000", "000000000100000000000000000", "000000000000100000100000010", "000000000000000000000000000", "001000000000000000000010001", "000010000000000000000000000", "000010000101000000000000000", "010000000000000000000000100", "000000000000000010000000000", "000000110000001100000000000", "000000001000000000000000010"}
Returns: 2
7
{"000000110000000000001001000", "001000000000000010000000000", "000000000001000000100000000", "001001000000000000000000000", "001000000000000000001000000", "100000000000000000000001011", "100010000000010000000000000", "000001010000001000000000010", "000010000000000000000000000", "000000000000000000000010000", "100000010100110000000000000", "000001001010000000000000010", "000010010100000000000100000", "000000000100100000010000000", "000000001000000000000000001", "000000000000000000000000000", "000000000100000000001001100", "010000001101000010001000000", "000100000000010000000000000", "000000101101000001001001010", "010000000100000000100000000", "000000000000000001000000000", "000000010000000000000010001", "001000000000000100000001010", "000000000000000100000000001", "000000010100000100000000000", "100000000001000000000101000", "100010001000100000000010000", "000000000000000000000000000", "000000000000000010000000000", "000000000000100000000000000", "100000000000000000000000100", "000000100000101000010100000", "000000000000000101000000000", "000000000100000000000000000", "000000000000100000100000010", "000000000000000000000000000", "001000000000000000000010001", "000010000000000000000000000", "000010000101000000000000000", "010000000000000000000000100", "000000000000000010000000000", "000000110000001100000000000", "000000001000000000000000010"}
Returns: 3
8
{"000000110000000000001001000", "001000000000000010000000000", "000000000001000000100000000", "001001000000000000000000000", "001000000000000000001000000", "100000000000000000000001011", "100010000000010000000000000", "000001010000001000000000010", "000010000000000000000000000", "000000000000000000000010000", "100000010100110000000000000", "000001001010000000000000010", "000010010100000000000100000", "000000000100100000010000000", "000000001000000000000000001", "000000000000000000000000000", "000000000100000000001001100", "010000001101000010001000000", "000100000000010000000000000", "000000101101000001001001010", "010000000100000000100000000", "000000000000000001000000000", "000000010000000000000010001", "001000000000000100000001010", "000000000000000100000000001", "000000010100000100000000000", "100000000001000000000101000", "100010001000100000000010000", "000000000000000000000000000", "000000000000000010000000000", "000000000000100000000000000", "100000000000000000000000100", "000000100000101000010100000", "000000000000000101000000000", "000000000100000000000000000", "000000000000100000100000010", "000000000000000000000000000", "001000000000000000000010001", "000010000000000000000000000", "000010000101000000000000000", "010000000000000000000000100", "000000000000000010000000000", "000000110000001100000000000", "000000001000000000000000010"}
Returns: 8
319
{"011101110110010111011010", "100000100011100111011110", "100011010101011011111111", "111011111111110111001011", "001100101110100101100011", "110011111111010110110101", "111111111110111011011001", "011111111001110101101010", "111011110111111011101111", "110110111111110001111111", "011110011101010011111111", "111101011011010011001011", "011010111111101111110011", "110111110011111111011101", "111111011111111111101110", "111011111011111110101010", "111111111111111111101001", "000101001111011011111110", "100110100111010111111111"}
Returns: 1
320
{"011101110110010111011010", "100000100011100111011110", "100011010101011011111111", "111011111111110111001011", "001100101110100101100011", "110011111111010110110101", "111111111110111011011001", "011111111001110101101010", "111011110111111011101111", "110110111111110001111111", "011110011101010011111111", "111101011011010011001011", "011010111111101111110011", "110111110011111111011101", "111111011111111111101110", "111011111011111110101010", "111111111111111111101001", "000101001111011011111110", "100110100111010111111111"}
Returns: 1
321
{"011101110110010111011010", "100000100011100111011110", "100011010101011011111111", "111011111111110111001011", "001100101110100101100011", "110011111111010110110101", "111111111110111011011001", "011111111001110101101010", "111011110111111011101111", "110110111111110001111111", "011110011101010011111111", "111101011011010011001011", "011010111111101111110011", "110111110011111111011101", "111111011111111111101110", "111011111011111110101010", "111111111111111111101001", "000101001111011011111110", "100110100111010111111111"}
Returns: 2
322
{"011101110110010111011010", "100000100011100111011110", "100011010101011011111111", "111011111111110111001011", "001100101110100101100011", "110011111111010110110101", "111111111110111011011001", "011111111001110101101010", "111011110111111011101111", "110110111111110001111111", "011110011101010011111111", "111101011011010011001011", "011010111111101111110011", "110111110011111111011101", "111111011111111111101110", "111011111011111110101010", "111111111111111111101001", "000101001111011011111110", "100110100111010111111111"}
Returns: 4
323
{"011101110110010111011010", "100000100011100111011110", "100011010101011011111111", "111011111111110111001011", "001100101110100101100011", "110011111111010110110101", "111111111110111011011001", "011111111001110101101010", "111011110111111011101111", "110110111111110001111111", "011110011101010011111111", "111101011011010011001011", "011010111111101111110011", "110111110011111111011101", "111111011111111111101110", "111011111011111110101010", "111111111111111111101001", "000101001111011011111110", "100110100111010111111111"}
Returns: 5
324
{"011101110110010111011010", "100000100011100111011110", "100011010101011011111111", "111011111111110111001011", "001100101110100101100011", "110011111111010110110101", "111111111110111011011001", "011111111001110101101010", "111011110111111011101111", "110110111111110001111111", "011110011101010011111111", "111101011011010011001011", "011010111111101111110011", "110111110011111111011101", "111111011111111111101110", "111011111011111110101010", "111111111111111111101001", "000101001111011011111110", "100110100111010111111111"}
Returns: 8
325
{"011101110110010111011010", "100000100011100111011110", "100011010101011011111111", "111011111111110111001011", "001100101110100101100011", "110011111111010110110101", "111111111110111011011001", "011111111001110101101010", "111011110111111011101111", "110110111111110001111111", "011110011101010011111111", "111101011011010011001011", "011010111111101111110011", "110111110011111111011101", "111111011111111111101110", "111011111011111110101010", "111111111111111111101001", "000101001111011011111110", "100110100111010111111111"}
Returns: 325
318
{"011101110110010111011010", "100000100011100111011110", "100011010101011011111111", "111011111111110111001011", "001100101110100101100011", "110011111111010110110101", "111111111110111011011001", "011111111001110101101010", "111011110111111011101111", "110110111111110001111111", "011110011101010011111111", "111101011011010011001011", "011010111111101111110011", "110111110011111111011101", "111111011111111111101110", "111011111011111110101010", "111111111111111111101001", "000101001111011011111110", "100110100111010111111111"}
Returns: 0
4
{"00", "00", "00", "01", "10", "00", "00", "00", "01", "00", "10", "00", "00", "10", "01", "00", "00", "00", "00", "00", "00", "10", "01", "00", "10", "00", "00", "00", "00", "01", "00", "01", "01", "01", "10", "10", "11", "10", "00", "10", "00", "00", "10", "00", "00", "00", "00", "00", "01", "11"}
Returns: 0
9
{"00", "00", "00", "01", "10", "00", "00", "00", "01", "00", "10", "00", "00", "10", "01", "00", "00", "00", "00", "00", "00", "10", "01", "00", "10", "00", "00", "00", "00", "01", "00", "01", "01", "01", "10", "10", "11", "10", "00", "10", "00", "00", "10", "00", "00", "00", "00", "00", "01", "11"}
Returns: -1
24
{ "111111", "011110", "001100", "001100", "011110", "111111" }
Returns: 24
23
{ "111111", "011110", "001100", "001100", "011110", "111111" }
Returns: 0
22
{ "111111", "011110", "001000", "001000", "011110", "111111" }
Returns: 22
21
{ "111111", "011110", "001000", "001000", "011110", "111111" }
Returns: 2
305
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 1
304
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 0
310
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 2
350
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 2
420
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 2
480
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 2
481
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 3
482
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 4
494
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 4
495
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 5
496
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 6
515
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 33
517
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 517
508
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 8
509
{"01001100000000010011", "00111110001110011100", "01110110110011011111", "11010000111001010010", "10110101010110011111", "11101110011101111010", "01111000111011111011", "11000101010110011011", "10110010001111111001", "10000011101001001101", "10101101100010111000", "11100110001100100111", "01011110110110111111", "11011101111010001111", "01010110011000110101", "01001011111010000000", "11000011000110110101", "10000000110100001101", "00110000111101010111", "00101110001011010111", "11011111001101111110", "00110100111110011100", "00101110110111111010", "01011010000011111011", "10000011001111001010", "10110010011001101111", "01100100110110010000", "00010000001101100011", "00010010110000001010", "00000110101100011111", "10100011010111111111", "10011111100000110000", "01011101100001101110", "10100011010101000010", "10111101010001101001", "00100011111010000110", "00101010101111011011", "00111111101100010111", "00101000111000100111", "01111111000001011110", "01101101110001000010", "00101011000100101001", "10100011000001101111", "11011010110011110100", "01100000101100000011", "01101011001100010101", "11000101000111100010", "10010000000110001101", "01111100010011000100", "01010100100010111011"}
Returns: 10
170
{"0001", "1111", "1111", "1111", "1111", "1111", "0111", "1011", "1111", "1111", "1111", "1111", "1111", "1011", "0111", "1111", "1111", "1011", "1011", "1110", "1011", "1111", "1111", "1111", "1111", "1010", "1011", "1111", "1111", "1110", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "0111", "1110", "1111", "1111", "1111", "1111", "1111"}
Returns: 0
171
{"0001", "1111", "1111", "1111", "1111", "1111", "0111", "1011", "1111", "1111", "1111", "1111", "1111", "1011", "0111", "1111", "1111", "1011", "1011", "1110", "1011", "1111", "1111", "1111", "1111", "1010", "1011", "1111", "1111", "1110", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "0111", "1110", "1111", "1111", "1111", "1111", "1111"}
Returns: 171
172
{"0001", "1111", "1111", "1111", "1111", "1111", "0111", "1011", "1111", "1111", "1111", "1111", "1111", "1011", "0111", "1111", "1111", "1011", "1011", "1110", "1011", "1111", "1111", "1111", "1111", "1010", "1011", "1111", "1111", "1110", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111", "0111", "1110", "1111", "1111", "1111", "1111", "1111"}
Returns: -1
2
{"101" }
Returns: -1
6
{"01010", "10001", "11011", "10001", "01010" }
Returns: 0
1000
{"111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111", "111111111111111111111111111111111111111111111" }
Returns: 0
999
{"11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111" }
Returns: 0
4
{"111", "111" }
Returns: 0
4
{"111", "111", "111", "111" }
Returns: 0
1000
{"11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111", "11111111111111111111111111111111111111111111111111" }
Returns: 0
1000
{"1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111", "1111111111111111111111111111111111111111111111111" }
Returns: 0