Problem Statement
The city of Konigsberg is famous for its bridges. The Tour de Konigsberg is an annual bicycle race over a route that crosses each bridge exactly once. You are responsible for planning the route for this year's race.
A series of checkpoints numbered from 0 to N-1 have been set up around the city, with exactly one bridge between each pair of neighboring checkpoints. For example, here is a picture of the bridges and checkpoints from last year's race.
0-------1 | | | | | | 2-------3 |\ /| | \ / | | \ / | 4---5---6(There has been substantial construction since last year, however, so the bridges and checkpoints for this year's race may be completely different.)
The route for the race must begin and end at checkpoint 0, and must proceed across the bridges from checkpoint to checkpoint, crossing each bridge exactly once. If the checkpoints are placed poorly, it might not be possible to come up with such a route, so the planner for the first Tour de Kongisberg, Leonhard Euler, was careful to leave instructions for how to lay out the checkpoints to guarantee that a successful race route will be possible. He decreed that the checkpoints should be placed with an even number of bridges (greater than zero) leaving each checkpoint, and furthermore that every checkpoint must be reachable from checkpoint 0. The checkpoints for this year's race were placed with Euler's instructions in mind. Now your task is to plan the race route. Fortunately, Euler also left notes telling you how.
You begin by laying out a tentative route that begins and ends at checkpoint 0. At every step along the way, this initial route leaves the current checkpoint via the unused bridge that leads to the lowest numbered checkpoint. When the tentative route returns to checkpoint 0, it may or may not have used all the bridges. If it has, you are done. Otherwise, you need to extend the route to use more bridges as follows. Beginning at checkpoint 0, you follow the tentative route until you reach a checkpoint--call it checkpoint K--that has an unused bridge leading out from it. (Note that K could be 0.) Lay out a new route by starting at checkpoint K and repeatedly taking the unused bridge that leads to the lowest numbered checkpoint until you return to checkpoint K. Now splice this new route into the tentative route after the first occurrence of K. Repeat this extension process on the new larger tentative route until all the bridges have been used. Note that you always restart the search for a checkpoint with an unused bridge back at the beginning of the tentative route; you do not continue from where you left off.
For example, in last year's race, the initial tentative route travelled from checkpoint 0 to 1 to 3 to 2. Marking the used bridges with x's we get
0-x-x-x-1 | | x x | | 2-x-x-x-3 |\ /| | \ / | | \ / | 4---5---6Some bridges have not been used, so we retrace the tentative route until we reach checkpoint 3. Then we lay out a new route from checkpoint 3 to 5 to 2 to 4 to 5 to 6 to 3. Splicing this new route back into the original route, we end up with the final race route: 0-1-3-5-2-4-5-6-3-2-0.
You will be given a
Definition
- Class:
- EulerianRace
- Method:
- planRoute
- Parameters:
- String[]
- Returns:
- int[]
- Method signature:
- int[] planRoute(String[] bridges)
- (be sure your method is public)
Constraints
- bridges contains between 3 and 30 elements, inclusive.
- Every element of bridges contains the same number of characters as elements in bridges.
- Every element in bridges contains only the characters '0' and/or '1'.
- Every element in bridges contains a positive even number of '1's.
- Character i of element i of bridges is '0'.
- Character i of element j of bridges is equal to character j of element i of bridges.
- Every checkpoint is reachable from checkpoint 0.
Examples
{ "0110000", "1001000", "1001110", "0110011", "0010010", "0011101", "0001010" }
Returns: { 0, 1, 3, 5, 2, 4, 5, 6, 3, 2, 0 }
The example from last year's race.
{ "0101000000", "1010110000", "0101000000", "1010000011", "0100011100", "0100100000", "0000100100", "0000101000", "0001000001", "0001000010" }
Returns: { 0, 1, 4, 6, 7, 4, 5, 1, 2, 3, 8, 9, 3, 0 }
In this example, the bridges and checkpoints are arranged as follows: 0-------1---4---6 | |\ |\ | | | \ | \ | | | \| \| 3-------2 5 7 |\ | \ | \ 8---9 The initial tentative route is 0-1-2-3-0, which is then extended with 1-4-5-1 into 0-1-4-5-1-2-3-0. Next, it is extended with 4-6-7-4 into 0-1-4-6-7-4-5-1-2-3-0. Finally, it is extended with 3-8-9-0 into 0-1-4-6-7-4-5-1-2-3-8-9-3-0.
{ "01111", "10111", "11011", "11101", "11110" }
Returns: { 0, 3, 2, 4, 3, 1, 4, 0, 1, 2, 0 }
A bridge between every possible pair of checkpoints.
{ "01000000001", "10100000000", "01010000000", "00101000000", "00010100000", "00001010000", "00000101000", "00000010100", "00000001010", "00000000101", "10000000010" }
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0 }
The bridges and checkpoints are arranged in a big circle.
{ "00011", "00101", "01001", "10001", "11110" }
Returns: { 0, 3, 4, 1, 2, 4, 0 }
{"0100001" ,"1011111" ,"0101000" ,"0110000" ,"0100010" ,"0100100" ,"1100000"}
Returns: { 0, 1, 2, 3, 1, 4, 5, 1, 6, 0 }
{ "011", "101", "110" }
Returns: { 0, 1, 2, 0 }
{"011111111", "101000000", "110000000", "100010000", "100100000", "100000100", "100001000", "100000001", "100000010"}
Returns: { 0, 7, 8, 0, 5, 6, 0, 3, 4, 0, 1, 2, 0 }
{ "00100100101111111101", "00101111111111101001", "11000000001011001000", "00000110000110001001", "01000000000111100010", "11010010000111000010", "01010100011111111001", "01000000000101010000", "11000000000111101010", "01000010001101001000", "11100010010101111011", "11011111111011111111", "11111110100101111111", "11101111111110111001", "11001010101111011111", "10000011001111101001", "11110010111111110111", "10000000000110101001", "00001100101110101000", "11010010001111111100" }
Returns: { 0, 17, 16, 15, 19, 14, 18, 16, 19, 17, 12, 14, 11, 13, 9, 16, 3, 19, 6, 16, 8, 18, 10, 19, 11, 15, 12, 16, 11, 18, 12, 19, 13, 14, 15, 13, 16, 14, 17, 11, 6, 12, 8, 11, 9, 10, 11, 12, 13, 5, 18, 4, 14, 6, 13, 7, 15, 10, 13, 8, 14, 10, 16, 1, 19, 0, 15, 6, 10, 2, 12, 3, 11, 5, 12, 4, 13, 2, 16, 0, 13, 1, 14, 0, 10, 1, 12, 0, 5, 1, 6, 3, 5, 6, 9, 1, 7, 11, 1, 8, 0, 2, 1, 4, 11, 0 }
{ "01001000111111011011", "10000000010010000001", "00010000010000000000", "00100110011100010001", "10000101011010101101", "00011010111001100011", "00010100111111001111", "00001000000001000011", "10000110011011001110", "11111110101011011111", "10011110110011001011", "10010010000000001000", "11001010111000000100", "10000111111000011111", "00001100000000001001", "10010000010001001001", "10001010111101110011", "00001010110011000000", "10000111111001001001", "11011111011001111010" }
Returns: { 0, 15, 16, 18, 19, 16, 9, 17, 13, 16, 14, 19, 5, 18, 6, 19, 7, 18, 9, 19, 10, 18, 13, 19, 15, 3, 19, 4, 14, 5, 10, 8, 12, 9, 10, 12, 17, 4, 16, 6, 17, 8, 13, 9, 15, 13, 10, 16, 8, 18, 0, 13, 5, 9, 4, 7, 13, 6, 8, 9, 6, 10, 4, 12, 6, 11, 16, 0, 12, 1, 19, 0, 10, 3, 11, 0, 4, 5, 3, 2, 9, 3, 6, 5, 8, 0, 1, 9, 0 }
{ "001011001011011111010110111111", "001000001000001000001000000000", "110110111101111111011111111111", "001000000001100100000000001001", "101001001110111111011111111101", "100010001010010100000000000000", "001000001010010110011000010100", "001000001010011000000001000000", "111011110011011110011111111111", "001010000000101000010111000101", "100011111000110110011100111000", "101100001000010000000100010001", "001110000110001011100100110000", "101011111011001111011101011111", "111010011100110110111111111101", "101111101010011010111110110101", "101010101010111100011011101011", "101010000000110000011111110101", "000000000000101100000001111001", "101010101110011111001101011001", "011010101010011111010101011101", "101010001111111101011011111111", "101010001100001111000100011101", "001010011100011011111100011010", "101010001010101111100100010111", "101010101011111101111111101101", "101110001010011010111111010011", "101010101100011101001110110001", "101000001000010010000101101001", "101110001101011111111110111110" }
Returns: { 0, 28, 26, 29, 25, 27, 29, 28, 23, 26, 25, 24, 27, 22, 29, 24, 28, 16, 29, 15, 27, 17, 29, 19, 23, 25, 19, 26, 20, 25, 22, 26, 21, 27, 20, 29, 21, 28, 8, 14, 12, 16, 8, 15, 10, 16, 13, 11, 21, 4, 19, 6, 20, 4, 22, 8, 19, 9, 21, 8, 20, 10, 19, 13, 14, 15, 13, 17, 19, 14, 16, 15, 18, 12, 21, 10, 24, 4, 23, 8, 24, 12, 25, 4, 26, 3, 29, 4, 27, 6, 25, 8, 26, 10, 25, 11, 29, 8, 27, 9, 22, 14, 18, 23, 9, 29, 13, 20, 14, 21, 13, 23, 14, 24, 15, 19, 16, 20, 15, 21, 17, 20, 19, 21, 20, 23, 16, 22, 15, 25, 13, 26, 14, 25, 17, 22, 21, 23, 17, 24, 16, 26, 18, 24, 21, 25, 18, 29, 14, 27, 13, 28, 2, 29, 0, 26, 2, 27, 0, 24, 2, 25, 0, 21, 2, 20, 1, 14, 4, 15, 3, 12, 9, 14, 7, 10, 6, 13, 5, 15, 6, 16, 4, 17, 12, 10, 13, 7, 23, 2, 22, 0, 17, 2, 19, 0, 15, 2, 16, 0, 13, 2, 7, 8, 10, 4, 9, 2, 11, 8, 13, 4, 12, 2, 14, 0, 5, 4, 8, 2, 6, 8, 5, 10, 0, 4, 2, 3, 11, 0, 2, 1, 8, 0 }
{ "001000100000101011011001010000", "001100111001101011110011110101", "110100110000011011001000110000", "011000111001111111111011111101", "000000100000000000000001000000", "000000100001011111111100100101", "111111011111111111111011111111", "011100100000101011110111111101", "010100100011101010110000010001", "000000100000001010000001110000", "000000101000001101010000011000", "010101101000111011111001110101", "110100111001011111111011110111", "001101100001101011010001110100", "111101111111110111111111111111", "000101100010101010010000111111", "111101111101111101111011111111", "111101110011111010111111110111", "010101111001101011000001110101", "110101111011111111001111111101", "101101100001101011010011110100", "000001010000001001010000000100", "010100110000101011011001110111", "110110110101111011111010111101", "011101110101111111111011011111", "111100111111111111111011101111", "000100110010001110010001110001", "010101110001111111111111110011", "000000100000101111000010110100", "010101111001101111110011111100" }
Returns: { 0, 20, 24, 27, 28, 25, 29, 27, 25, 26, 29, 24, 26, 23, 25, 22, 27, 23, 29, 22, 28, 24, 22, 23, 24, 25, 20, 23, 19, 25, 18, 29, 14, 28, 15, 29, 16, 28, 17, 29, 19, 27, 20, 17, 22, 16, 23, 17, 24, 14, 25, 11, 29, 12, 27, 13, 25, 15, 24, 16, 25, 17, 27, 14, 26, 15, 27, 16, 26, 19, 21, 27, 18, 24, 19, 22, 20, 14, 21, 17, 19, 20, 12, 22, 14, 16, 15, 19, 13, 17, 14, 18, 16, 17, 18, 23, 12, 24, 9, 25, 6, 27, 1, 29, 3, 27, 5, 29, 6, 28, 12, 25, 7, 26, 10, 25, 8, 29, 7, 27, 11, 24, 13, 23, 14, 19, 16, 20, 6, 19, 7, 16, 9, 23, 6, 22, 7, 17, 10, 19, 8, 18, 7, 21, 5, 24, 2, 25, 3, 26, 6, 24, 7, 23, 11, 16, 12, 17, 11, 18, 12, 19, 11, 20, 2, 7, 6, 5, 11, 6, 8, 10, 6, 9, 14, 2, 13, 3, 14, 5, 13, 6, 14, 7, 12, 8, 11, 12, 13, 11, 14, 8, 16, 2, 17, 3, 15, 5, 16, 3, 19, 5, 17, 6, 15, 10, 14, 12, 15, 14, 13, 16, 6, 18, 5, 20, 3, 22, 1, 23, 3, 24, 1, 25, 0, 19, 1, 18, 3, 12, 6, 4, 23, 0, 16, 1, 17, 0, 12, 1, 6, 3, 7, 1, 8, 3, 11, 1, 14, 0, 2, 1, 3, 2, 6, 0 }
{ "010000000000000100010010011000", "100111111111110111111101011011", "000101010010010000000000100110", "011011111111111100011111010011", "010101011010010000000000000010", "011110111011011111011111110111", "010101011110011101010100011111", "011111101011011110010101110011", "010111110111010100010001010011", "010100101010111100100101110101", "011111111101011110011001011111", "010101011010111110011101111011", "010100000101011000110000010010", "011111111111101100011101111111", "000101110111110010000100010011", "110101111111010001010000010101", "010001010011001000011000011110", "010001100000000100001100010010", "010000000100100000010001010000", "110101111011110110101111011011", "010101000011010011010011010011", "010101110101011001010010010111", "100101000000000000011100010010", "010101011111010000111000110000", "001001010101010000000001010000", "110101111111111111111111100111", "110000100011010010010000000000", "001001100110010110000100010011", "011111111011111011011110010101", "010101111111011100011100010110" }
Returns: { 0, 25, 27, 28, 29, 27, 21, 29, 25, 23, 24, 25, 22, 28, 25, 17, 28, 11, 29, 13, 28, 14, 29, 15, 27, 16, 28, 19, 29, 20, 28, 21, 25, 16, 26, 19, 25, 14, 21, 17, 20, 16, 19, 20, 22, 21, 19, 23, 20, 25, 12, 28, 5, 29, 6, 26, 10, 27, 6, 28, 7, 29, 8, 28, 10, 29, 9, 27, 13, 24, 11, 26, 13, 25, 11, 23, 18, 25, 9, 23, 10, 25, 7, 24, 9, 21, 13, 23, 8, 25, 1, 23, 3, 25, 5, 20, 10, 15, 13, 14, 16, 7, 19, 10, 16, 11, 19, 12, 18, 19, 13, 20, 11, 21, 5, 22, 19, 15, 25, 6, 21, 7, 23, 5, 27, 2, 28, 3, 29, 1, 26, 0, 19, 1, 16, 5, 13, 8, 11, 10, 9, 12, 11, 13, 9, 14, 3, 15, 5, 14, 6, 15, 7, 14, 10, 13, 12, 14, 11, 15, 8, 19, 3, 20, 1, 17, 5, 19, 6, 17, 15, 9, 18, 1, 21, 3, 22, 0, 1, 3, 2, 5, 1, 4, 3, 5, 4, 7, 1, 6, 3, 7, 2, 10, 1, 8, 3, 9, 1, 11, 3, 10, 4, 8, 5, 6, 7, 5, 10, 6, 8, 7, 10, 8, 9, 6, 13, 1, 12, 3, 13, 2, 24, 5, 11, 7, 13, 4, 28, 1, 15, 0 }
{ "000111110011001110111110000010", "000001110000000000000100000000", "000001110101011010111011000001", "100011110000000100000000000011", "100101010001000000000010000000", "111110110111111111111111111111", "111101010010001000110011000101", "111111101101111111111111111111", "000000010010000100000000000001", "001001010000001100100011010010", "100001101000001000001000001010", "101011010000001101101011001111", "000001010000000000011010000001", "001001010000001010101010000000", "101001110111010110110111001111", "100101011101001010111010111011", "101001010000011100111011101101", "000001010001000000000010000101", "101001110101011110011011011001", "101001110000101110101111001111", "101001010011110110110111110001", "110001010000001000011001010010", "101011110101111111111001111111", "001001110101001010111110111011", "000001010000000110001011001000", "000001010100000100101111000001", "000001010011001110110011100101", "000001110001001011010010001000", "100101010111001100010111000001", "001101111001101111111011011010" }
Returns: { 0, 20, 25, 18, 29, 23, 28, 29, 22, 27, 26, 29, 14, 27, 16, 29, 15, 28, 19, 26, 22, 24, 26, 23, 25, 21, 28, 22, 25, 29, 17, 27, 19, 29, 20, 22, 23, 24, 20, 21, 23, 18, 22, 19, 23, 20, 16, 22, 15, 24, 5, 25, 7, 24, 16, 26, 5, 27, 6, 29, 5, 28, 7, 26, 10, 28, 9, 25, 15, 26, 11, 27, 7, 29, 11, 28, 14, 26, 18, 20, 13, 22, 14, 23, 16, 19, 20, 2, 22, 5, 12, 7, 9, 14, 7, 11, 14, 10, 20, 5, 15, 7, 13, 14, 15, 8, 29, 2, 23, 5, 16, 7, 17, 5, 18, 6, 19, 5, 21, 7, 18, 9, 15, 11, 17, 22, 6, 23, 7, 19, 12, 20, 7, 22, 9, 23, 11, 18, 13, 16, 14, 18, 15, 16, 18, 19, 14, 21, 19, 15, 20, 11, 22, 12, 29, 3, 28, 0, 18, 2, 19, 0, 16, 2, 14, 5, 11, 4, 22, 0, 11, 2, 13, 5, 7, 8, 10, 6, 14, 0, 10, 5, 2, 6, 3, 5, 4, 7, 2, 9, 5, 6, 7, 3, 15, 0, 7, 1, 21, 0, 5, 1, 6, 0, 3, 4, 0 }
{ "000011011011101011110", "000001000010000000110", "000000000000101000000", "000010000100111010110", "100100001101111010100", "110000010111111101100", "000000010111111101111", "100001100111111011111", "100010000000011000000", "000111110011111111111", "110001110100111101100", "100011110100101101110", "101111110111011111111", "000111111110101001111", "101111111111110011111", "000001100111100000110", "100110010100101001101", "100001110111111010100", "110111110111111111011", "110100110101111100100", "000000110100111010100" }
Returns: { 0, 17, 14, 18, 15, 19, 13, 20, 14, 19, 18, 16, 20, 18, 17, 12, 18, 13, 17, 10, 18, 11, 19, 12, 16, 17, 9, 13, 10, 12, 11, 14, 9, 15, 10, 14, 12, 13, 14, 16, 9, 18, 7, 19, 9, 20, 12, 15, 11, 17, 6, 18, 3, 19, 6, 20, 7, 17, 5, 18, 1, 19, 0, 16, 3, 12, 4, 11, 6, 10, 7, 11, 9, 12, 5, 13, 3, 14, 4, 13, 6, 12, 7, 13, 8, 14, 5, 15, 6, 14, 7, 16, 4, 18, 0, 12, 2, 14, 0, 7, 5, 9, 6, 7, 9, 10, 5, 11, 0, 5, 1, 10, 0, 4, 3, 9, 4, 8, 0 }
{ "0111101111111111111111", "1001101010101110011111", "1000001010110010000101", "1100101111110010011011", "1101001001111011101011", "0000000101101010000100", "1111100101111110100111", "1001011011100111101011", "1111000100101000000100", "1001111100110010101010", "1111111111011111100011", "1011101001101010110111", "1100111010110110010001", "1100001100101011000000", "1111111101111101111111", "1000100100100110000000", "1000101101110010010111", "1101000000011010101000", "1101100101000010010000", "1110011010010010100010", "1101101101110010100100", "1111101100111010100000" }
Returns: { 0, 20, 14, 21, 16, 20, 11, 16, 14, 13, 15, 14, 17, 12, 21, 11, 19, 14, 18, 17, 16, 19, 20, 7, 21, 10, 20, 4, 21, 6, 20, 3, 21, 2, 19, 6, 13, 7, 10, 9, 11, 10, 12, 11, 14, 6, 16, 7, 14, 9, 16, 10, 13, 12, 14, 10, 15, 7, 18, 9, 20, 1, 18, 3, 17, 11, 6, 9, 7, 8, 10, 6, 12, 8, 19, 1, 21, 0, 16, 4, 18, 0, 15, 4, 14, 5, 19, 0, 13, 1, 12, 4, 11, 3, 14, 1, 17, 0, 11, 2, 14, 0, 9, 3, 7, 5, 9, 4, 10, 2, 8, 3, 10, 5, 12, 0, 8, 1, 10, 0, 4, 1, 6, 3, 4, 6, 7, 0, 2, 6, 0, 1, 3, 0 }
{ "01110111111000111111111", "10000000001000000000110", "10010111001101111110111", "10100111011101110111011", "00000000001000000100000", "10110011101000111110101", "10110100111110011110111", "10110100101111011010011", "10000111001100000110011", "10010010001000000000000", "11111111110111111111111", "00110011101010010110011", "00000011001100000101000", "00110001001000000000000", "10110100001000011110111", "10110111001100101100111", "10100111001000110110000", "10111110101110111010011", "10110111101100101101111", "10010000001010000010010", "11100110001000110010010", "11110011101100110111101", "10110111101100110110010" }
Returns: { 0, 21, 20, 18, 22, 21, 18, 19, 21, 15, 22, 17, 16, 18, 17, 21, 11, 22, 14, 21, 8, 22, 10, 19, 12, 17, 15, 20, 10, 21, 6, 18, 7, 13, 10, 14, 15, 7, 16, 10, 15, 16, 14, 17, 8, 18, 10, 17, 11, 18, 14, 20, 6, 22, 7, 21, 2, 22, 3, 21, 1, 20, 5, 22, 0, 19, 3, 18, 2, 20, 0, 16, 2, 17, 3, 15, 5, 16, 6, 8, 7, 10, 6, 9, 10, 8, 11, 6, 12, 7, 11, 10, 12, 11, 15, 6, 17, 5, 18, 0, 15, 2, 14, 5, 10, 4, 17, 0, 9, 3, 11, 2, 13, 3, 14, 0, 7, 2, 10, 3, 5, 6, 3, 7, 5, 8, 0, 5, 2, 6, 0, 2, 3, 0, 1, 10, 0 }
{ "011111111000111011110111", "100010011000100101000100", "100110110100110111110111", "101010100011111011101100", "111100010111111111111111", "100000000000110101100101", "101100001110101111110111", "111010001100111001111111", "110000110101110011010111", "001010111010100001110101", "000110100100111011101111", "000110001000000000010011", "111111111110011111010111", "101111011010101111110111", "100110110010110000000110", "011011100000110000000111", "101110101010110001110101", "111111111110110010111111", "101111110110010011001111", "101010111101110011001111", "000110010010000001110111", "111111111110111111111011", "101010111011111101111101", "101011111111110111111110" }
Returns: { 0, 22, 21, 23, 22, 19, 20, 21, 19, 23, 20, 22, 17, 20, 18, 21, 17, 23, 18, 22, 14, 21, 16, 18, 17, 19, 16, 23, 15, 22, 12, 19, 13, 16, 17, 13, 21, 12, 23, 13, 22, 10, 23, 11, 22, 7, 23, 8, 22, 4, 20, 3, 21, 4, 23, 5, 21, 7, 20, 10, 21, 8, 19, 9, 18, 13, 15, 21, 9, 23, 6, 22, 2, 19, 4, 18, 3, 17, 5, 18, 6, 15, 12, 8, 13, 10, 12, 9, 17, 6, 16, 8, 17, 7, 14, 10, 16, 12, 13, 14, 12, 17, 10, 18, 7, 19, 6, 21, 2, 23, 0, 18, 2, 17, 1, 21, 0, 14, 3, 12, 4, 13, 3, 16, 4, 14, 6, 12, 7, 13, 5, 15, 4, 17, 0, 13, 2, 12, 1, 15, 2, 16, 0, 7, 1, 8, 7, 2, 9, 4, 7, 9, 6, 10, 3, 11, 4, 10, 9, 8, 11, 19, 0, 6, 2, 4, 3, 6, 8, 0, 5, 12, 0, 2, 3, 0, 1, 4, 0 }
{ "0110000000001000010000000", "1011111001001101011011000", "1100010001011101010000111", "0100101000001000001010000", "0101011111111111111111111", "0110100011111111011111110", "0101100001111111010111011", "0000100010011000010010000", "0000110100001000000000000", "0110111000011111111011111", "0000111000011000000000001", "0010111101101111111111111", "1111111111110111111111111", "0110111001011011111110111", "0000111001011100011011010", "0110111001011100111111111", "0000100001011101000110000", "1110111101011111001111111", "0101110001011111010010011", "0000111000011101110010101", "0101111101011111111101111", "0100111001011011010010010", "0010110001011101010110010", "0010111001011111011011101", "0010101001111101011110010" }
Returns: { 0, 12, 23, 22, 20, 24, 23, 20, 21, 23, 17, 24, 18, 23, 14, 21, 17, 19, 20, 17, 22, 19, 24, 15, 23, 9, 24, 11, 23, 13, 24, 12, 20, 13, 22, 15, 17, 18, 14, 20, 15, 18, 20, 16, 19, 15, 21, 12, 18, 13, 14, 17, 13, 15, 16, 13, 19, 12, 17, 11, 20, 9, 21, 11, 22, 12, 15, 5, 17, 1, 18, 3, 20, 1, 21, 4, 17, 6, 19, 4, 18, 5, 19, 11, 15, 9, 17, 7, 20, 4, 22, 2, 23, 4, 24, 6, 20, 5, 21, 6, 23, 5, 22, 9, 18, 11, 16, 12, 13, 11, 14, 6, 15, 4, 16, 9, 14, 12, 1, 3, 4, 1, 5, 2, 9, 1, 6, 3, 12, 2, 11, 4, 5, 8, 4, 6, 9, 4, 7, 8, 12, 4, 10, 5, 9, 11, 5, 12, 6, 10, 11, 6, 13, 1, 15, 2, 13, 4, 14, 5, 13, 9, 12, 7, 11, 12, 10, 24, 2, 17, 0, 1, 2, 0 }
{ "00101011001010101011011000", "00111111110101111011111101", "11011111110000011011111000", "01101011011101111010111000", "11110111111101111111111111", "01101010011100100110011000", "11111101111111111111111011", "11111010011101111011111101", "01101010011000001000111101", "01111111101111111110111011", "10011111110110111000111000", "01011111011011101010111101", "10000010011100010001111000", "01011011010100011010011000", "11011111011100011011111100", "01111011011011101010111000", "11111011111101110111111000", "00001110010000001000011010", "11111111010101111001111000", "11101011000010101010011000", "01111011111110111010011010", "11111111111111111111101011", "11111111111111111111110000", "01001001100100100000000000", "00001010010000000100110000", "01001011110100000000010000" }
Returns: { 0, 21, 22, 20, 24, 21, 18, 22, 19, 21, 16, 22, 17, 21, 15, 22, 14, 23, 11, 25, 21, 12, 22, 13, 21, 10, 22, 11, 21, 9, 22, 8, 25, 9, 24, 17, 16, 18, 15, 20, 16, 19, 18, 20, 21, 7, 22, 6, 25, 7, 23, 8, 21, 5, 22, 4, 23, 1, 25, 4, 24, 6, 21, 4, 20, 6, 19, 7, 20, 9, 18, 11, 20, 10, 16, 13, 18, 14, 15, 16, 14, 19, 12, 20, 14, 21, 2, 19, 4, 16, 6, 15, 7, 11, 10, 12, 9, 13, 7, 14, 9, 15, 10, 14, 11, 12, 15, 13, 11, 16, 7, 18, 4, 17, 5, 18, 6, 17, 9, 16, 8, 20, 2, 22, 3, 21, 1, 22, 0, 18, 1, 16, 2, 18, 3, 20, 1, 19, 0, 12, 6, 11, 5, 14, 3, 13, 6, 14, 4, 15, 3, 16, 0, 10, 3, 7, 2, 8, 1, 9, 2, 15, 1, 11, 3, 9, 4, 5, 6, 4, 7, 6, 8, 4, 10, 5, 9, 6, 10, 7, 9, 8, 10, 9, 11, 4, 13, 1, 14, 0, 6, 1, 4, 3, 6, 2, 5, 1, 7, 0, 2, 1, 3, 2, 4, 0 }
{ "001001000010010001001000000", "000110000110000001101000111", "100101010010010001101001000", "011011000111100000101001111", "010100110110110010101111101", "101100011111010001111011111", "000010011110000100101001001", "001011100111010010101011111", "000001100110110010111010001", "010111111010110101101011101", "111111111101111111111111111", "000101010010000000001000001", "000110001110001000101000000", "101011011110000011101111111", "000000000010100000001000001", "000000100110000001100001000", "000010011010010000001100001", "111001000110010100101010100", "011111111110110101001111011", "000001001010000000000000010", "111111111111111011100111111", "000010000010010010101001111", "000011011110010001101000011", "001111110110010100101100111", "010111010110010001001101011", "010101010010010000111111101", "010111111111011010101111110" }
Returns: { 0, 17, 22, 25, 24, 26, 25, 20, 26, 21, 23, 24, 21, 25, 23, 26, 22, 13, 25, 18, 21, 20, 22, 18, 23, 20, 24, 17, 18, 5, 19, 8, 16, 7, 18, 6, 20, 1, 24, 3, 23, 2, 20, 4, 21, 10, 16, 20, 5, 22, 4, 23, 5, 24, 4, 26, 1, 25, 3, 26, 5, 25, 7, 20, 8, 18, 9, 20, 10, 18, 12, 20, 11, 26, 6, 23, 7, 22, 8, 26, 7, 24, 9, 22, 10, 19, 25, 10, 23, 9, 26, 10, 24, 13, 18, 15, 23, 13, 20, 14, 26, 13, 21, 16, 26, 18, 20, 17, 1, 18, 2, 17, 5, 8, 6, 4, 7, 6, 9, 4, 10, 5, 9, 7, 10, 6, 15, 9, 8, 10, 9, 12, 3, 11, 5, 13, 4, 12, 8, 13, 7, 11, 10, 12, 14, 10, 13, 9, 17, 10, 15, 17, 13, 16, 4, 18, 3, 20, 0, 10, 1, 9, 3, 10, 2, 5, 7, 2, 13, 0, 2, 3, 1, 4, 3, 5, 0 }
{ "0101011110000111110011111011", "1000011111010111101010111011", "0000111000000111000000010010", "1000000000000100100000010000", "0010001000000010000010000011", "1110001100001011111011011111", "1110110110001111101111111111", "1100011010001000010010011000", "1100001101001100101111111010", "0100000010000101101000010010", "0000000000000010000000010110", "0100000000000010100001011011", "0000011110000111101111011011", "1111001011001011111111111111", "1110111000111100110010111011", "1110011001001100100110111011", "1101011011011111011111111011", "1000010100000110100001111011", "0100011011001100100010010000", "0000001010001101100010011010", "1100111110001111101100011011", "1000011010011100110000011010", "1100001010000111110000010110", "1111011111111111111111101111", "1100011110011111110111010111", "0000011000100100000000111010", "1110111011111111110111111101", "1100111000011111110010011010" }
Returns: { 0, 26, 24, 27, 26, 23, 25, 26, 20, 27, 23, 24, 25, 22, 26, 19, 24, 21, 26, 16, 27, 17, 21, 23, 17, 22, 23, 18, 20, 19, 23, 20, 24, 17, 26, 14, 27, 15, 23, 16, 24, 15, 26, 12, 23, 14, 20, 15, 22, 14, 24, 12, 27, 13, 26, 10, 25, 13, 24, 11, 26, 6, 27, 11, 23, 9, 26, 4, 27, 5, 26, 2, 23, 6, 13, 8, 7, 12, 8, 16, 6, 14, 10, 23, 7, 17, 13, 9, 15, 6, 18, 8, 19, 6, 20, 7, 24, 5, 25, 6, 21, 8, 20, 12, 13, 14, 12, 15, 13, 16, 9, 18, 12, 16, 11, 21, 12, 19, 13, 18, 16, 14, 17, 16, 15, 19, 16, 20, 13, 21, 16, 22, 6, 24, 8, 22, 13, 23, 8, 26, 1, 27, 0, 21, 5, 23, 1, 24, 0, 17, 5, 20, 1, 22, 0, 16, 1, 18, 5, 16, 3, 23, 0, 15, 1, 14, 2, 15, 5, 7, 6, 12, 5, 14, 4, 20, 0, 8, 1, 9, 8, 6, 2, 4, 6, 5, 2, 13, 1, 11, 14, 0, 6, 1, 7, 0, 3, 13, 0, 1, 5, 0 }
{ "01111111111111111111111111111", "10001101111101111111000111011", "10001000011010100000000010001", "10000001010100101100100001001", "11100110111110110110100100101", "11001001000110110110100010011", "10001001110100101110000010001", "11010110011110110111111111011", "11001010000100100010000001000", "11111011001111110110111110011", "11101001010100111111000100011", "11011111111011111110001111111", "10101101010100110010000101011", "11000000010100100111011100001", "11111111111111011111111111111", "11001101011110101110011110111", "11010010001100110110011101101", "11011111011101111011101011101", "11001111111111111101111111111", "11000001001001100110110110101", "10011101010000100111001001011", "10000001010001111011000110001", "10000001010101111110100000001", "11001001011111111011010001101", "11100111010100110111010000011", "11010001100110101110100100001", "10001000000100111111000100000", "11000101011110110010100010001", "11111111011111111111111111010" }
Returns: { 0, 26, 19, 24, 27, 28, 24, 21, 28, 23, 26, 17, 28, 18, 25, 20, 22, 28, 19, 23, 25, 28, 20, 27, 18, 26, 14, 27, 15, 28, 16, 23, 18, 24, 17, 25, 16, 26, 11, 18, 9, 20, 5, 24, 2, 28, 5, 27, 7, 24, 6, 28, 7, 25, 11, 22, 9, 21, 13, 18, 10, 23, 9, 24, 11, 23, 12, 25, 14, 16, 15, 17, 16, 18, 14, 19, 13, 22, 14, 20, 17, 18, 15, 21, 14, 23, 13, 28, 9, 27, 10, 28, 11, 27, 12, 28, 14, 24, 15, 22, 16, 21, 18, 19, 17, 22, 18, 20, 19, 21, 23, 15, 26, 4, 28, 1, 27, 0, 24, 1, 25, 3, 28, 0, 21, 7, 20, 4, 23, 7, 22, 0, 20, 3, 14, 2, 12, 5, 11, 6, 9, 10, 7, 11, 8, 14, 4, 15, 5, 14, 6, 16, 3, 17, 4, 18, 5, 17, 6, 18, 7, 12, 9, 11, 10, 14, 7, 15, 9, 13, 11, 12, 14, 9, 17, 7, 19, 10, 15, 11, 14, 13, 17, 10, 16, 11, 17, 14, 15, 12, 18, 8, 25, 0, 19, 1, 23, 0, 17, 1, 18, 0, 15, 1, 16, 0, 13, 1, 14, 0, 11, 1, 10, 4, 9, 3, 11, 4, 12, 0, 9, 1, 5, 7, 1, 8, 6, 7, 9, 2, 10, 0, 6, 4, 8, 0, 3, 7, 0, 2, 4, 5, 0, 1, 4, 0 }
{ "0110101000", "1010111111", "1101110111", "0010000001", "1110001011", "0110000000", "1100100001", "0110000000", "0110100001", "0111101010" }
Returns: { 0, 4, 6, 9, 8, 4, 2, 7, 1, 8, 2, 9, 4, 1, 5, 2, 3, 9, 1, 6, 0, 1, 2, 0 }
{ "00001111000", "00101110000", "01001110110", "00000110000", "11100111011", "11111011111", "11111101111", "10001110000", "00100110001", "00101110000", "00001110100" }
Returns: { 0, 6, 8, 10, 6, 7, 5, 8, 2, 9, 4, 10, 5, 9, 6, 1, 5, 2, 6, 3, 5, 6, 4, 7, 0, 4, 1, 2, 4, 5, 0 }
{ "000101110011", "001001000000", "010101111011", "101000101011", "000000001010", "111000001011", "101100001011", "101000001010", "001111110011", "000000000011", "101111111101", "101101101110" }
Returns: { 0, 10, 9, 11, 10, 6, 11, 8, 10, 4, 8, 7, 10, 3, 6, 8, 3, 11, 5, 10, 2, 11, 0, 6, 2, 5, 8, 2, 7, 0, 3, 2, 1, 5, 0 }
{ "0001011000001", "0001010100001", "0001100100001", "1110111111111", "0011011101101", "1101101110001", "1001110111001", "0111111011011", "0001011100000", "0001101100000", "0001100000000", "0001000100000", "1111111100000" }
Returns: { 0, 6, 9, 7, 12, 6, 7, 2, 12, 3, 7, 4, 9, 3, 8, 5, 12, 4, 10, 3, 11, 7, 8, 6, 3, 2, 4, 3, 5, 4, 6, 5, 7, 1, 12, 0, 3, 1, 5, 0 }
{ "01101111000101", "10110111000101", "11010011001101", "01101111010111", "10010001000001", "11010011110111", "11110101001100", "11111110011111", "00000100010000", "00010101100000", "00100011000111", "11110111001011", "00010101001101", "11111101001110" }
Returns: { 0, 11, 12, 3, 13, 5, 12, 7, 13, 10, 12, 13, 11, 7, 10, 11, 3, 9, 5, 7, 9, 8, 5, 11, 2, 3, 5, 6, 2, 7, 3, 6, 7, 4, 13, 2, 10, 6, 11, 1, 13, 0, 6, 1, 7, 0, 4, 3, 1, 5, 0, 1, 2, 0 }
{ "011011101111111", "101101011011000", "110101011111001", "011011011000000", "100100011000000", "111100011011101", "100000000010000", "011111001010010", "111111010111011", "101000001011111", "111001111100101", "111001001100000", "100001000110000", "100000011100000", "101001001110000" }
Returns: { 0, 12, 9, 11, 8, 13, 9, 14, 10, 12, 5, 14, 8, 10, 7, 13, 0, 11, 1, 10, 2, 9, 10, 5, 11, 2, 14, 0, 8, 1, 7, 2, 3, 5, 2, 8, 3, 7, 4, 8, 5, 7, 8, 9, 0, 6, 10, 0, 4, 3, 1, 5, 0, 1, 2, 0 }
{ "0001110001000000", "0001011001000011", "0001010111101010", "1110110111111111", "1001010101000010", "1111100011111110", "0100000000100000", "0011100011000010", "0011010100001001", "1111110100111011", "0011011001000010", "0001010001001000", "0011010011010011", "0001010000000000", "0111110101101001", "0101000011001010" }
Returns: { 0, 4, 9, 11, 12, 14, 15, 12, 9, 10, 14, 9, 1, 6, 10, 2, 9, 5, 10, 3, 11, 5, 12, 2, 14, 1, 15, 3, 12, 8, 15, 9, 7, 14, 3, 13, 5, 14, 4, 5, 8, 7, 4, 3, 2, 5, 3, 7, 2, 8, 3, 9, 0, 3, 1, 5, 0 }
{ "00101010000101001", "00001011000000001", "10001001011000001", "00001000000000001", "11110111111111111", "00001011001000101", "11001101111011101", "01101110111001111", "00001011011001101", "00101011101000110", "00101111110001101", "10001000000001111", "00001010000000000", "10001011101100111", "00001111111101001", "00001001010101001", "11111111101101110" }
Returns: { 0, 11, 14, 16, 13, 15, 16, 11, 13, 4, 14, 5, 16, 4, 15, 7, 9, 10, 7, 13, 8, 10, 13, 14, 6, 16, 7, 14, 8, 16, 10, 14, 9, 15, 11, 4, 5, 6, 4, 7, 1, 16, 2, 7, 5, 10, 2, 9, 4, 8, 6, 7, 8, 9, 6, 10, 4, 12, 6, 13, 0, 6, 1, 4, 3, 16, 0, 2, 4, 0 }
{ "011111111111111101", "100110110100101000", "100100101100001110", "111010111101111101", "110100001100010000", "100000101001000000", "111101011111011110", "110100100100011100", "101111100111011111", "111110111011011101", "100000101100111100", "100101101100111111", "110100000011011100", "100110111111101100", "111100111111110110", "101100111111111011", "001000101001001100", "100100001101000100" }
Returns: { 0, 15, 14, 16, 15, 12, 14, 13, 15, 11, 17, 15, 9, 17, 8, 16, 11, 12, 13, 11, 14, 10, 15, 7, 14, 8, 15, 2, 16, 6, 13, 3, 12, 10, 8, 9, 7, 13, 8, 11, 9, 10, 13, 9, 14, 6, 15, 3, 17, 0, 12, 1, 14, 3, 11, 6, 9, 4, 13, 0, 10, 6, 8, 5, 11, 0, 9, 1, 6, 2, 8, 3, 6, 7, 3, 9, 2, 14, 0, 7, 1, 4, 8, 0, 5, 6, 0, 2, 3, 4, 0, 1, 3, 0 }
{ "0111111101101111111", "1010111111101111111", "1100011011111111101", "1000000001100000100", "1100010001100110100", "1110101111100111101", "1110010111000110100", "1100011000001000100", "0110011000101110101", "1111111000101111110", "1111110011001101111", "0010000000001010100", "1110000111110010010", "1110111011100011111", "1110111011011100111", "1110010001100100001", "1111111111110110011", "1100000001101110100", "1110010010100111100" }
Returns: { 0, 17, 14, 18, 16, 17, 12, 14, 16, 13, 15, 18, 13, 17, 9, 2, 6, 5, 7, 6, 8, 5, 9, 6, 13, 2, 10, 3, 16, 2, 11, 12, 2, 14, 4, 10, 5, 13, 4, 16, 5, 14, 6, 16, 7, 12, 8, 10, 9, 12, 10, 13, 8, 14, 9, 13, 14, 11, 16, 8, 18, 2, 15, 5, 18, 10, 15, 9, 16, 10, 17, 1, 18, 0, 15, 1, 16, 0, 13, 1, 14, 0, 10, 1, 8, 2, 5, 4, 9, 1, 12, 0, 6, 1, 7, 0, 4, 1, 5, 0, 3, 9, 0, 1, 2, 0 }
{ "01111111111111111111111111111", "10111111111111111111111111111", "11011111111111111111111111111", "11101111111111111111111111111", "11110111111111111111111111111", "11111011111111111111111111111", "11111101111111111111111111111", "11111110111111111111111111111", "11111111011111111111111111111", "11111111101111111111111111111", "11111111110111111111111111111", "11111111111011111111111111111", "11111111111101111111111111111", "11111111111110111111111111111", "11111111111111011111111111111", "11111111111111101111111111111", "11111111111111110111111111111", "11111111111111111011111111111", "11111111111111111101111111111", "11111111111111111110111111111", "11111111111111111111011111111", "11111111111111111111101111111", "11111111111111111111110111111", "11111111111111111111111011111", "11111111111111111111111101111", "11111111111111111111111110111", "11111111111111111111111111011", "11111111111111111111111111101", "11111111111111111111111111110" }
Returns: { 0, 27, 26, 28, 27, 24, 25, 26, 24, 28, 25, 27, 22, 23, 24, 22, 25, 23, 26, 22, 28, 23, 27, 20, 21, 22, 20, 23, 21, 24, 20, 25, 21, 26, 20, 28, 21, 27, 18, 19, 20, 18, 21, 19, 22, 18, 23, 19, 24, 18, 25, 19, 26, 18, 28, 19, 27, 16, 17, 18, 16, 19, 17, 20, 16, 21, 17, 22, 16, 23, 17, 24, 16, 25, 17, 26, 16, 28, 17, 27, 14, 15, 16, 14, 17, 15, 18, 14, 19, 15, 20, 14, 21, 15, 22, 14, 23, 15, 24, 14, 25, 15, 26, 14, 28, 15, 27, 12, 13, 14, 12, 15, 13, 16, 12, 17, 13, 18, 12, 19, 13, 20, 12, 21, 13, 22, 12, 23, 13, 24, 12, 25, 13, 26, 12, 28, 13, 27, 10, 11, 12, 10, 13, 11, 14, 10, 15, 11, 16, 10, 17, 11, 18, 10, 19, 11, 20, 10, 21, 11, 22, 10, 23, 11, 24, 10, 25, 11, 26, 10, 28, 11, 27, 8, 9, 10, 8, 11, 9, 12, 8, 13, 9, 14, 8, 15, 9, 16, 8, 17, 9, 18, 8, 19, 9, 20, 8, 21, 9, 22, 8, 23, 9, 24, 8, 25, 9, 26, 8, 28, 9, 27, 6, 7, 8, 6, 9, 7, 10, 6, 11, 7, 12, 6, 13, 7, 14, 6, 15, 7, 16, 6, 17, 7, 18, 6, 19, 7, 20, 6, 21, 7, 22, 6, 23, 7, 24, 6, 25, 7, 26, 6, 28, 7, 27, 4, 5, 6, 4, 7, 5, 8, 4, 9, 5, 10, 4, 11, 5, 12, 4, 13, 5, 14, 4, 15, 5, 16, 4, 17, 5, 18, 4, 19, 5, 20, 4, 21, 5, 22, 4, 23, 5, 24, 4, 25, 5, 26, 4, 28, 5, 27, 2, 3, 4, 2, 5, 3, 6, 2, 7, 3, 8, 2, 9, 3, 10, 2, 11, 3, 12, 2, 13, 3, 14, 2, 15, 3, 16, 2, 17, 3, 18, 2, 19, 3, 20, 2, 21, 3, 22, 2, 23, 3, 24, 2, 25, 3, 26, 2, 28, 3, 27, 1, 28, 0, 25, 1, 26, 0, 23, 1, 24, 0, 21, 1, 22, 0, 19, 1, 20, 0, 17, 1, 18, 0, 15, 1, 16, 0, 13, 1, 14, 0, 11, 1, 12, 0, 9, 1, 10, 0, 7, 1, 8, 0, 5, 1, 6, 0, 3, 1, 4, 0, 1, 2, 0 }
{ "011011101111011111111111111100", "101011001000011000010111000100", "110011101100001111111101011101", "000001000100000000110100110001", "111001000111111111110111010100", "111110011111111111111111111100", "101000000000001001010100001100", "000001001000000001010000000000", "111001010101011111010110010101", "101111001001011101110111110101", "100011000000011011010101111100", "100011001100000010010100110000", "000011000000000000010100010111", "110011001110001111110111111100", "111011101110010100110101110001", "101011001100011011011101111100", "101011001011010100010101011000", "101011111110010100110101110111", "101111000100011001011100110101", "111111111111111111101111111101", "101001000000000100110100000100", "111111101111111111111011110110", "110011001100010000010100111000", "111011000110011111010100110101", "100101000111011101110111010101", "101111001111111111110111100111", "101001100010010110010010000101", "111011101110110101111101111001", "000000000000100001000100010000", "001100001100101001110001111100" }
Returns: { 0, 25, 27, 26, 29, 27, 24, 29, 25, 23, 27, 21, 28, 25, 22, 26, 19, 29, 23, 24, 25, 18, 27, 19, 25, 15, 26, 16, 25, 14, 29, 12, 28, 17, 29, 18, 24, 19, 23, 21, 22, 24, 21, 25, 12, 27, 5, 26, 6, 27, 8, 29, 9, 27, 10, 26, 13, 27, 15, 24, 17, 23, 16, 21, 18, 20, 19, 21, 20, 27, 17, 25, 11, 24, 13, 25, 9, 23, 13, 19, 11, 21, 12, 19, 14, 21, 13, 22, 19, 15, 17, 18, 19, 17, 21, 15, 23, 14, 24, 10, 25, 5, 24, 9, 22, 8, 25, 3, 29, 2, 27, 4, 22, 5, 23, 4, 25, 2, 26, 0, 24, 3, 21, 5, 18, 9, 11, 16, 8, 14, 9, 13, 14, 10, 16, 13, 15, 8, 17, 9, 15, 14, 18, 13, 17, 10, 19, 5, 20, 15, 16, 19, 6, 21, 8, 19, 9, 21, 10, 23, 1, 27, 0, 22, 1, 21, 2, 23, 0, 20, 2, 19, 3, 18, 4, 15, 5, 11, 8, 13, 5, 14, 6, 17, 4, 16, 5, 17, 7, 19, 4, 21, 0, 17, 2, 18, 0, 15, 2, 16, 0, 11, 4, 12, 5, 8, 9, 5, 10, 13, 4, 14, 1, 19, 0, 10, 4, 9, 3, 5, 7, 8, 1, 13, 0, 9, 2, 14, 0, 6, 2, 4, 5, 2, 8, 0, 4, 1, 5, 0, 1, 2, 0 }
{ "001100011001100001110010000101", "001101100111111110011111111101", "110111111111111111111111111011", "111011000011110110111111011111", "001101011011110110111101010111", "011110000101100000000100010001", "011000010110110101100001010011", "101010100101111100110101100001", "101010000011110000011000000010", "011001110011110110011101001011", "011110101101111010010111001111", "111111011110111111111101110111", "111111111111011100111110111111", "011110111111100110000111100111", "011000010011100010010110110011", "011110110101110011110001010011", "011110000111011100110100010101", "101000100001000100001100010000", "101110110001100110000110001001", "111110011111101110000111101001", "011110001101100001000101010011", "011111010111111011111011111011", "111100000010111000110100101001", "011110110111010100011100001111", "011000010001111000010110011000", "011111100001101111001100101011", "011100000110100000110111110111", "110110000011110010000001001001", "001110101111111100001101011001", "111111110111111110111111011110" }
Returns: { 0, 27, 23, 28, 25, 29, 26, 28, 29, 27, 16, 29, 14, 28, 15, 29, 19, 26, 22, 29, 20, 28, 21, 29, 23, 26, 24, 25, 26, 27, 11, 29, 12, 25, 14, 24, 19, 21, 17, 25, 15, 23, 19, 22, 18, 21, 22, 24, 21, 23, 20, 25, 21, 26, 18, 29, 13, 28, 12, 27, 10, 19, 11, 18, 7, 23, 6, 25, 5, 29, 4, 28, 3, 26, 9, 23, 10, 21, 11, 20, 12, 19, 14, 16, 15, 17, 20, 21, 12, 22, 10, 26, 12, 24, 7, 29, 6, 28, 9, 29, 10, 28, 11, 23, 13, 22, 14, 21, 16, 18, 15, 19, 16, 25, 11, 24, 13, 27, 3, 23, 4, 21, 7, 13, 6, 15, 7, 14, 10, 12, 8, 11, 9, 12, 11, 13, 8, 19, 9, 13, 10, 16, 9, 15, 11, 14, 12, 13, 15, 12, 18, 6, 17, 11, 16, 13, 21, 9, 20, 8, 28, 2, 29, 3, 25, 4, 27, 1, 23, 2, 21, 3, 22, 2, 24, 1, 25, 2, 26, 1, 29, 0, 19, 1, 20, 2, 19, 3, 13, 4, 10, 6, 12, 4, 15, 3, 16, 4, 18, 3, 20, 4, 19, 7, 9, 10, 11, 7, 12, 5, 21, 1, 22, 0, 17, 2, 11, 3, 5, 4, 7, 6, 9, 5, 11, 4, 8, 10, 3, 12, 2, 13, 1, 14, 2, 15, 1, 16, 2, 18, 0, 11, 1, 9, 2, 10, 1, 12, 0, 7, 2, 3, 4, 2, 5, 1, 6, 2, 8, 0, 2, 1, 3, 0 }
{ "001111011111111011110111111110", "001011111011010011000100001010", "110111111111111111010111011111", "101000010001000010000101011100", "111001010001101010000000001000", "111010111111111111111111111111", "011001010001100010000000001000", "111111101111111111011101011111", "111001010101111011010100011000", "101001011011111011010100011110", "111001010101011010110001001000", "111111111110111111011101011111", "101011111101010011110110011101", "111001011111100010011110101100", "101011011111000000010110011000", "001001010001000001000000001000", "111111111111110001110111011101", "111001011101100110110100000110", "100001000010100011010101000100", "101001011111111011100111111110", "000001010001010000000100010000", "111101011101111011111000011100", "101001000000111010010000000000", "101101010011000010110000010100", "100001000000010000010000000000", "101101011101101010011101000001", "111111111111111110010100000100", "101101010101110011110101001011", "111001010101000001010000000100", "001001010001100010000000010100" }
Returns: { 0, 24, 13, 16, 11, 19, 27, 21, 20, 25, 21, 26, 27, 23, 25, 29, 27, 28, 19, 12, 21, 11, 20, 13, 19, 16, 17, 18, 16, 21, 13, 22, 14, 21, 17, 19, 18, 21, 19, 22, 16, 23, 3, 25, 5, 23, 7, 25, 8, 26, 3, 27, 5, 26, 7, 27, 9, 25, 11, 23, 10, 26, 9, 28, 2, 29, 5, 28, 7, 29, 11, 26, 12, 25, 14, 26, 13, 27, 11, 28, 17, 27, 12, 29, 16, 25, 19, 23, 18, 27, 16, 26, 19, 24, 5, 20, 7, 16, 8, 17, 7, 21, 5, 22, 12, 11, 13, 12, 16, 9, 17, 11, 14, 19, 8, 21, 9, 19, 10, 18, 12, 17, 15, 26, 2, 27, 0, 23, 2, 25, 0, 22, 2, 19, 7, 9, 10, 7, 11, 6, 12, 7, 13, 8, 11, 9, 12, 8, 14, 7, 15, 11, 10, 13, 9, 14, 10, 16, 6, 26, 1, 28, 0, 18, 5, 19, 0, 17, 1, 21, 2, 17, 5, 16, 4, 26, 0, 14, 2, 13, 5, 12, 4, 14, 5, 15, 2, 16, 3, 21, 0, 13, 1, 16, 0, 10, 1, 11, 2, 8, 5, 6, 7, 4, 11, 5, 7, 8, 9, 5, 10, 2, 12, 0, 9, 2, 7, 3, 11, 0, 7, 1, 5, 2, 6, 1, 8, 0, 3, 2, 4, 5, 0, 2, 1, 4, 0 }
{ "011110110111100011111000111011", "101111111111111111011011111110", "110110110111101111111000111110", "111000110001100010011001111110", "111000000001100011000000010000", "010000000000010001010000000000", "111100010101011101011000110100", "111100100101100001011000010011", "010000000011000000000000010000", "111000110001001000011001001010", "111000001001001001100010010000", "111110111110011011111111111111", "111110010000010101010001011010", "010001100001101001010010010110", "011000100111010001111101111000", "011000100000100010000000100000", "111110000001000101011001100011", "111011110011111010011001010111", "101000000011001000001000010010", "111101110101111011001010110000", "111100110101001011110100010100", "000000000001001000001000010000", "010000000011010000010001110011", "010100000101101011000010011100", "111100100001001110010010010000", "111110111011111001111111100111", "111100000101101000000001000100", "011100100001010001001001011010", "111100010101110011100010010101", "100000010001000011000010010010" }
Returns: { 0, 28, 25, 29, 28, 22, 19, 25, 20, 27, 17, 29, 22, 23, 25, 22, 24, 25, 27, 23, 26, 27, 28, 17, 25, 18, 28, 13, 27, 11, 29, 16, 28, 11, 26, 12, 28, 1, 27, 2, 25, 3, 26, 2, 28, 3, 27, 6, 20, 7, 25, 6, 24, 11, 18, 10, 25, 11, 19, 12, 17, 13, 19, 14, 18, 20, 9, 23, 11, 20, 14, 21, 11, 22, 13, 25, 12, 23, 14, 24, 15, 16, 17, 19, 16, 20, 17, 23, 16, 24, 19, 20, 21, 25, 14, 26, 9, 28, 7, 29, 0, 24, 1, 19, 3, 20, 2, 24, 3, 23, 1, 22, 10, 11, 9, 6, 13, 11, 14, 6, 15, 12, 13, 14, 9, 19, 5, 17, 6, 19, 7, 17, 10, 14, 17, 11, 16, 4, 25, 1, 26, 0, 20, 1, 17, 4, 12, 7, 11, 8, 25, 0, 18, 2, 19, 0, 16, 1, 12, 3, 16, 2, 14, 1, 15, 2, 17, 0, 11, 1, 10, 2, 3, 6, 2, 4, 11, 2, 7, 3, 11, 6, 7, 9, 2, 12, 0, 9, 1, 8, 10, 0, 6, 1, 5, 13, 1, 7, 0, 3, 1, 4, 0, 1, 2, 0 }
{ "010110000101010011010111010100", "101010011110010011011011011101", "010010100000000111010000010000", "100011000111110111011110010101", "111100100101111110011100001101", "000100111100000111010010011101", "001011001110010111011010011111", "010001000100000111101011011000", "010001100101010111011100011000", "110111111010011111011010010011", "010100100100110111010100010101", "100110001000010101000010000000", "000110000010010111010110010001", "110110101111100111010010011001", "000010000100000010001000010100", "001111111111110011110011011101", "111111111110111101111111111111", "111101111111110110011111011101", "000000010000000110001111001000", "111111101110110111001110010111", "010110111100001011110011001001", "100110001010100011110001001000", "110101110101110111111001000100", "110000010000000111101110010001", "000000000000000010000000000001", "111101111110111111010001001001", "010011111000010111101100010000", "110111100010001111010010000001", "000000100100000010010000000000", "010111100110110111011001110100" }
Returns: { 0, 23, 21, 26, 25, 29, 27, 22, 23, 18, 26, 20, 29, 17, 27, 19, 29, 23, 17, 26, 16, 28, 19, 25, 23, 15, 26, 13, 29, 15, 27, 16, 24, 29, 16, 25, 17, 22, 18, 21, 19, 22, 20, 23, 7, 22, 9, 25, 7, 26, 8, 25, 10, 21, 12, 17, 13, 19, 12, 22, 13, 25, 12, 29, 1, 27, 3, 29, 4, 27, 5, 29, 6, 28, 9, 29, 10, 27, 14, 25, 15, 17, 19, 15, 22, 16, 18, 20, 16, 19, 20, 17, 21, 16, 23, 1, 22, 3, 25, 1, 26, 4, 21, 8, 20, 7, 18, 15, 12, 16, 9, 17, 10, 19, 9, 20, 14, 16, 13, 15, 16, 17, 11, 22, 6, 25, 5, 26, 6, 27, 0, 21, 3, 19, 4, 20, 6, 19, 5, 22, 0, 19, 1, 20, 3, 13, 4, 9, 5, 15, 4, 11, 8, 13, 6, 9, 7, 15, 6, 10, 9, 13, 10, 12, 13, 11, 15, 8, 16, 2, 17, 3, 16, 4, 14, 9, 15, 10, 16, 5, 17, 6, 16, 7, 17, 8, 19, 2, 25, 0, 16, 1, 17, 0, 11, 3, 10, 1, 8, 5, 6, 2, 15, 3, 12, 4, 6, 8, 9, 1, 13, 0, 3, 4, 1, 7, 5, 3, 9, 0, 1, 2, 4, 0 }
{ "010110111110001110000111001100", "100100011111100111011111000101", "000100010100000010000000000000", "111011111110010111111111100001", "100101110110011111110111100101", "000110010111000110000100000001", "100110001110001110100101000011", "111111001111011110110100000111", "110100110100101110100100000000", "111111111011111111111101111111", "110111110100000111011111101101", "010001010100000110111100011011", "010000001100000110000001000000", "000110010100000010010000000000", "100010111100000111000000100000", "110111111111101011111111011111", "111111111111111101111111011111", "010110000110001110001110000001", "000110111101000110000000000111", "010110010111010110001100000000", "010100000111000111010000011010", "110111111111000111010001000110", "110110000010000111000001000001", "110110100110100110000110000101", "000110000110001000000000011100", "000000000101000110001000100101", "100000000111000110001000100011", "110010010110000110100101110001", "000000110101000110101100001000", "010111110111000111100011011100" }
Returns: { 0, 26, 24, 27, 23, 29, 25, 27, 29, 26, 16, 27, 21, 28, 26, 11, 29, 15, 28, 16, 20, 17, 21, 16, 22, 17, 29, 16, 25, 20, 19, 21, 23, 22, 29, 18, 28, 20, 26, 10, 20, 9, 21, 6, 23, 4, 24, 3, 29, 4, 27, 7, 21, 10, 22, 15, 17, 16, 13, 19, 11, 18, 15, 19, 16, 14, 24, 9, 23, 10, 24, 25, 9, 27, 10, 29, 6, 28, 7, 29, 9, 28, 11, 20, 15, 21, 11, 25, 15, 23, 16, 18, 27, 15, 26, 9, 19, 10, 15, 11, 16, 10, 17, 14, 15, 16, 12, 23, 3, 22, 4, 21, 5, 29, 1, 27, 0, 22, 1, 20, 3, 21, 1, 23, 0, 15, 1, 11, 5, 10, 3, 9, 4, 10, 6, 9, 7, 8, 9, 10, 7, 11, 9, 12, 1, 16, 3, 13, 4, 15, 3, 17, 1, 19, 3, 18, 4, 16, 5, 15, 6, 14, 7, 13, 9, 14, 8, 12, 15, 7, 16, 6, 18, 7, 19, 4, 17, 9, 15, 8, 16, 9, 18, 8, 21, 0, 14, 4, 7, 5, 9, 2, 16, 0, 9, 1, 7, 3, 8, 1, 10, 0, 6, 3, 5, 4, 6, 8, 0, 4, 3, 2, 7, 0, 1, 3, 0 }
{ "000101011010010101011001000010", "000001001010101000010110100010", "000001000110111000011001100000", "100001011111111101110110100111", "000001000100110000010011001000", "111110011110111010110110110111", "000000000011100000000010010010", "100101001010100011011110110110", "110101010011111001111111110111", "001111000010111100111001001110", "111101111101111011111111110111", "000100101010111000010011010111", "011111111111011101111111101111", "101111001111101001110111011111", "011101001111110011111100111111", "100100000100100010111010001011", "000001010010001100010101000101", "100100011010111000111010000101", "000101001110111101010111111111", "111111011111111111101111111111", "101000011110101101010011110100", "010101011010111010110010100110", "010111111011110101111101100111", "101010001111110010111010001111", "011101011010101000111110010010", "000001111011011000111000100110", "000010000100111100110001000111", "000101011111111011111111011011", "110101111111111100110111111101", "000101001011111111110011001110" }
Returns: { 0, 23, 27, 28, 29, 27, 25, 28, 26, 29, 23, 26, 27, 20, 25, 24, 28, 21, 27, 22, 28, 23, 20, 24, 19, 25, 18, 26, 19, 27, 18, 28, 19, 29, 22, 21, 24, 22, 23, 18, 21, 19, 20, 22, 15, 26, 12, 27, 11, 29, 12, 28, 13, 26, 14, 27, 13, 29, 14, 28, 15, 29, 16, 27, 17, 29, 18, 22, 19, 23, 13, 21, 16, 15, 18, 17, 19, 15, 20, 17, 22, 13, 25, 7, 27, 8, 25, 10, 27, 9, 28, 8, 29, 10, 28, 11, 25, 14, 24, 18, 19, 16, 23, 10, 24, 12, 23, 8, 22, 10, 20, 14, 13, 17, 14, 18, 13, 19, 14, 21, 12, 22, 11, 23, 4, 19, 3, 22, 4, 26, 9, 19, 5, 21, 7, 19, 8, 20, 7, 22, 5, 24, 3, 27, 5, 25, 6, 28, 3, 29, 5, 28, 7, 24, 8, 21, 10, 17, 12, 18, 10, 19, 12, 20, 9, 23, 2, 24, 1, 28, 0, 17, 3, 14, 5, 13, 8, 11, 10, 9, 12, 6, 22, 1, 21, 3, 18, 5, 16, 7, 17, 8, 12, 10, 13, 9, 14, 8, 18, 9, 15, 12, 11, 13, 12, 14, 10, 16, 14, 11, 19, 2, 20, 0, 15, 3, 13, 2, 14, 1, 19, 0, 10, 1, 5, 2, 9, 3, 10, 2, 12, 1, 8, 5, 4, 9, 5, 7, 8, 10, 5, 12, 3, 11, 6, 10, 7, 12, 4, 13, 0, 7, 3, 8, 0, 3, 5, 0 }
{ "011101110111111111110111111111", "101110110100110110010110010010", "110011111111110011110111010011", "110010100110100100100110110010", "011101010111100011000001111111", "101010010111110110011111010111", "111100010111111010110111110010", "111011100111110110101111111111", "001000000000000000000101010000", "111111110011111110100111110111", "101111110101111110011101010010", "101011110110110010000101110100", "111111110111001011101111111011", "111001110111000000101111010100", "100000100110100001000110010001", "110101010110000000100100011010", "111011110111100000100101110011", "101010000000101000000100110000", "101100110100110110010000110001", "111001100010000000100000010000", "000001010010110000000100000000", "111101111111111111001011111111", "111101110100111000000101010110", "101011111111110010000110010011", "100110110101100011100100010100", "111111111111111111110111101111", "100010010000100100000100010100", "100011010101010000000110111011", "111111110110100110000111010100", "101011010100101010100101010100" }
Returns: { 0, 27, 28, 25, 29, 27, 25, 26, 27, 21, 29, 23, 28, 22, 27, 13, 25, 14, 29, 12, 28, 15, 26, 21, 16, 23, 21, 24, 16, 25, 17, 24, 18, 19, 25, 18, 29, 16, 28, 21, 25, 22, 23, 25, 24, 27, 7, 29, 9, 28, 10, 25, 11, 27, 5, 25, 6, 28, 4, 29, 5, 28, 7, 24, 9, 23, 11, 24, 12, 21, 13, 20, 21, 14, 22, 12, 23, 13, 22, 21, 15, 25, 7, 26, 12, 25, 9, 27, 4, 25, 3, 28, 2, 29, 0, 26, 4, 17, 12, 14, 17, 21, 6, 22, 5, 23, 4, 24, 6, 23, 7, 20, 12, 16, 11, 21, 7, 22, 9, 21, 10, 23, 8, 25, 1, 28, 0, 23, 2, 25, 0, 22, 1, 21, 2, 22, 3, 18, 6, 19, 10, 13, 7, 15, 9, 14, 10, 15, 18, 7, 16, 9, 18, 12, 11, 13, 18, 16, 10, 20, 5, 21, 3, 24, 0, 17, 2, 16, 4, 12, 7, 11, 10, 12, 9, 13, 6, 16, 5, 19, 2, 18, 0, 16, 1, 13, 5, 15, 1, 19, 0, 14, 6, 10, 9, 11, 6, 12, 3, 15, 0, 11, 2, 9, 3, 10, 4, 7, 6, 9, 4, 11, 5, 9, 7, 10, 5, 12, 2, 13, 0, 10, 2, 6, 3, 4, 5, 7, 2, 8, 21, 0, 9, 1, 12, 0, 6, 1, 7, 0, 3, 1, 4, 2, 5, 0, 1, 2, 0 }
{"011000000", "101100001", "110000000", "010011111", "000101000", "000110000", "000100010", "000100100", "010100000"}
Returns: { 0, 1, 3, 4, 5, 3, 6, 7, 3, 8, 1, 2, 0 }
{ "01111", "10111", "11011", "11101", "11110" }
Returns: { 0, 3, 2, 4, 3, 1, 4, 0, 1, 2, 0 }
{ "01000000001", "10100000000", "01010000000", "00101000000", "00010100000", "00001010000", "00000101000", "00000010100", "00000001010", "00000000101", "10000000010" }
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0 }
{ "0101000000", "1010110000", "0101000000", "1010000011", "0100011100", "0100100000", "0000100100", "0000101000", "0001000001", "0001000010" }
Returns: { 0, 1, 4, 6, 7, 4, 5, 1, 2, 3, 8, 9, 3, 0 }
{ "011111111", "101000000", "110000000", "100010000", "100100000", "100000100", "100001000", "100000001", "100000010" }
Returns: { 0, 7, 8, 0, 5, 6, 0, 3, 4, 0, 1, 2, 0 }
{ "000110", "000011", "000101", "101011", "110101", "011110" }
Returns: { 0, 3, 4, 5, 3, 2, 5, 1, 4, 0 }