Statistics

Problem Statement for "CrimeLab"

Problem Statement

You are a forensic technician examining a fragment of a hundred-dollar bill that was found at a crime scene. There may be a match between this target fragment and several candidate fragments that were brought in by detectives.

Each fragment is described by a 7-by-7 square of characters. The square is flattened into a String by concatenating its rows from top to bottom. For example, the fragment

    XXXXXXX
    .XXXXXX
    .XX.XXX
    .XX.X.X
    .X..X..
    ....X..
    .......

is flattened into the String

    XXXXXXX.XXXXXX.XX.XXX.XX.X.X.X..X......X.........

while the fragment

    .XXXXXX
    .....XX
    ....XXX
    ..XXXXX
    ......X
    ...XXXX
    ....XXX

is flattened into the following.

    .XXXXXX.....XX....XXX..XXXXX......X...XXXX....XXX

A fragment contains 7 horizontal or vertical consecutive sequences of 'X' characters that all begin at the same edge of the square, which can be the top, right, bottom, or left edge, depending on the orientation of the fragment. If a fragment has top orientation, then in each column, a consecutive sequence of between 1 and 6 'X' characters, inclusive, begins at the top edge and extends toward the bottom. Similar constraints apply to a fragment of right, bottom, or left orientation. For example, the two fragments presented above have top and right orientations.

A pair of fragments are said to match if they can be fitted together, possibly after rotation and/or reflection, to make a solid 7-by-7 square of 'X' characters without overlap. For instance, the two fragments shown above are matched in this way. To see this, rotate the second fragment 90 degrees clockwise and reflect it to obtain:

    .......
    X......
    X..X...
    X..X.X.
    X.XX.XX
    XXXX.XX
    XXXXXXX

Now these 2 fragments can be fitted together.

    XXXXXXX     .......     XXXXXXX
    .XXXXXX     X......     XXXXXXX
    .XX.XXX     X..X...     XXXXXXX
    .XX.X.X  +  X..X.X.  =  XXXXXXX
    .X..X..     X.XX.XX     XXXXXXX
    ....X..     XXXX.XX     XXXXXXX
    .......     XXXXXXX     XXXXXXX

You are given a String targetFragment representing the target fragment and a String[] candidateFragments each element of which represents one of the candidate fragments. If the target fragment fails to match any of the candidate fragments, return the error code -1. If there are several matches, return -2. Otherwise, return the zero-based index of the unique candidate fragment that matches the target fragment.

Definition

Class:
CrimeLab
Method:
matchFragment
Parameters:
String, String[]
Returns:
int
Method signature:
int matchFragment(String targetFragment, String[] candidateFragments)
(be sure your method is public)

Constraints

  • candidateFragments will contain between 1 and 50 elements, inclusive.
  • Each element of candidateFragments will satisfy the same constraints as targetFragment.
  • targetFragment will contain exactly 49 characters.
  • Each character in targetFragment will be either 'X' or '.'.
  • When formed into a 7-by-7 square, targetFragment will make a fragment of top, right, bottom, or left orientation, as described in the problem statement.

Examples

  1. "XXXXXXX.XXXXXX.XX.XXX.XX.X.X.X..X......X........."

    {"XXX....XX.....XXX....XXX....XXXXXX.X......XXXX...", ".XXXXXX.....XX....XXX..XXXXX......X...XXXX....XXX", ".......X...X..X..XX..X..XX.XX..XX.XXX.XX.XXXXXXXX"}

    Returns: 1

    The example shown in the problem statement.

  2. "XXXXXXX.XXXXXX.XX.XXX.XX.X.X.X..X......X........."

    {"XXX....XX.....XXX....XXX....XXXXXX.X......XXXX...", ".XXXXXX.....XX....XXX..XXXXX.....XX...XXXX....XXX", "XXXXXXX.XXXXXX.XX.XXX.XX.X.X.X..X................", ".......X...X..X..XX..X..XX.XX..XX.XXX.XX.XXXXXXXX"}

    Returns: -1

    The target fragment doesn't match any of the candidate fragments.

  3. "XXXXXXX.XXXXXX.XX.XXX.XX.X.X.X..X......X........."

    {"XXX....XX.....XXX....XXX....XXXXXX.X......XXXX...", ".XXXXXX.....XX....XXX..XXXXX......X...XXXX....XXX", ".......X...X..X..XX..X..XX.XX..XX.XXX.XX.XXXXXXXX", "XXX....XXXX...X......XXXXX..XXX....XX.....XXXXXX."}

    Returns: -2

    The target fragment matches two of the candidate fragments.

  4. "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXX......."

    {".........................................XXXXXXXX"}

    Returns: 0

  5. "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXX......."

    {"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXX.......", "...................................X......XXXXXXX"}

    Returns: 1

  6. "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXX........"

    {"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXX.......", "...................................X.....XXXXXXXX"}

    Returns: 1

  7. "XXX....XXXX...X......XXX....X......XX.....XXXXXX."

    {".......XX..XX.XX..XX.XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "...XXXX..XXXXX...XXXX....XXX......X....XXX.....XX", "XXXXXX.XX.....XXXXXX.XXXX...X......X......X......", "XXXXXXX.X.X.XX.X.X.XX.X.X.XX.X.X.XX.....X........", "XXXXXXXXXXXXX..XXXXX..XXXXX....XXX...............", "XXXXXXXX.XXXXXX.XXXXXX.X..XX..X..XX..............", "................X....XXX....XXXXX..XXXXXX.XXXXXXX", ".......X......X.....XX...X.XXX..X.XXX.XX.XXXXXXXX", "..XXXXX...XXXX.XXXXXX....XXX....XXX..XXXXX...XXXX", "XXXXXXXXX.XXXXXX.XXXX.....XX.....X......X........", "XXXXXXXXXX.XXX.XX.XXX.XX.X.X.XX.X...X............", "............X....X.X.X..X.X.X.XXXX.XXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXX.XXXXXX.XX.X.X.XX...X.......", "XXXXXX.XX.....XX.....XXXX...XX.....XX.....XXXXX..", "................X..X.X.X..X.X.X..X.X.X..X.XXXXXXX", ".......X......X.X....X.X....X.X....X.X.X..XXXXXXX", "XXXXXXXXX.XXXXXX.XX.XXX.X..XX.....X......X.......", "............X..X...XXXX..XXXXX.XXXXXX.XXXXXXXXXXX", "XXXXXXX.XXXXXX.XXXXXX.XXXX.X.XX.X....X.X.........", "XXXXXXXXXXXXXX.XXXX.X.XXX..X.XXX..X..XX..X.......", ".......X.X.X..X.X.XX.X.X.XXXXXX.XXXXXX.XXXXXXXXXX", "XXXXXXXXXXX...XX.X....X.X......X......X..........", "....XXX...XXXX.XXXXXX...XXXX......X..XXXXX.XXXXXX", "XXXXXXXXXXXXXXXXXX..XXXXX..X.XX...X.X............", "XXXXXXXX.X..X.X.X..X...X..X...X..X...............", "..XXXXX.....XX..XXXXX....XXX..XXXXX.....XX....XXX", "........X.XXX.XX.XXX.XX.XXX.XX.XXX.XX.XXX.XXXXXXX", "XXX....XXXXX..X......XXXXXX.XXXXX..XXX....XXX....", "...............X.....XX.....XXXX.XXXXXX.XXXXXXXXX", ".XXXXXX....XXX......X......X..XXXXX.....XX.....XX", "XXX....XX.....XXXXXX.XXX....XXXX...XXXXX..XXXXXX.", "XXXX...XXXXX..XXXXXX.XX.....XXX....XXXXXX.X......", "XXX....X......X......XXXX...XXXXX..XXXXXX.XXXXXX.", "....XXX.XXXXXX.XXXXXX.XXXXXX..XXXXX......X..XXXXX", "XXXXXXX.XXX.XX.X.X.X..X.X.X......................", "XXXXX..XXX....XXXX...XXX....XXXXX..XXXXXX.XXXXX..", "......X......X...XXXX.XXXXXX.XXXXXX......X......X", "XXXXXXXXXXXXXXXXXXXXXXXXXX.X.XXX..X......X.......", ".............XX.....XXX...XXXX.XXXXXXXXXXXXXXXXXX", ".......XX.....XXX..X.XXX.XX.XXX.XX.XXXXXXXXXXXXXX", "XXXXXXXXX.XXXXXX.X..XXX.X..X.X.X..X.X.X..X.......", "XXXX...XXXXX..XX.....XXXX...XXX....XX.....XXX....", ".XXXXXX...XXXX.XXXXXX..XXXXX.XXXXXX......X...XXXX", "XXXX...XXXXX..X......XXXX...XX.....XXXX...XXX....", "XX.....X......XXXXX..XXXXX..XXXXX..XX.....XXXXXX.", "......X.XXXXXX.....XX.....XX....XXX..XXXXX.XXXXXX", "XXXXXXXX.XXXX.X.XXXX.X.XXXX.X.X.XX.X....X........", "XXXXXXXX.XXXXXX.XXXXXX.XX.XXX.XX..X..XX..........", ".XXXXXX...XXXX...XXXX......X......X....XXX.....XX", "XXXXXXXXXXXXX.XXXXXX.X.XXXX.X.X.XX.X...XX........"}

    Returns: 18

  8. "XXXXX..XXX....XXXXXX.XX.....XXXXX..XX.....XXXXX.."

    {"....XXX.XXXXXX....XXX....XXX...XXXX....XXX.XXXXXX", "XXX....XXX....XXXXXX.XXXXXX.XXXX...XXXXXX.XXXXX..", "XXXXXX.XXXX...XXX....XXXXXX.XXXX...XXX....XXXX...", "XXXXXX.X......XX.....XX.....XXXXX..XXXXX..XX.....", "....XXX......X.....XX..XXXXX......X...XXXX.XXXXXX", "..............X..X...X..X..XX..X..XXXXX.XXXXXXXXX", "XXXXXXXXXXXX.XXXXX..XXXXX...XXXX....X.X..........", "........XXXXX..XXXXX..XXXXX..XXXXX..XXXXXXXXXXXXX", "......X.XXXXXX....XXX..XXXXX....XXX.....XX..XXXXX", "...XXXX.XXXXXX.XXXXXX..XXXXX...XXXX....XXX...XXXX", "XXXXXXXXXXXXXX.XXXXXX.XXXXXX....XXX..............", "...........X..X.X.X..X.X.X..X.X.XXXXXX.XXXXXXXXXX", ".......X.....XX.X...XXXXX..XXXXX..XXXXX..XXXXXXXX", "XXXXXX.XXXX...XXXXXX.X......XXXX...XXXX...XXXXXX.", "............X.XXX..X.XXX..XXXXX..XXXXX..XXXXXXXXX", "XXXXXXXX.XXXXXX.XX.XXX..X..XX..X.................", "XXXXXX.XXXX...XXXXXX.XXXX...X......X......X......", "XXXXXXXXXX.XXXX.X.X.X..X.X.X..X.X.X......X.......", ".........X......X......X......X..X...X..XXXXXXXXX", "XXXXXXXXX.XX.XXX.X..XXX.X..X.X.X..X.X....X.......", "XXXXXXXXXX.X.X.XX.X...X..X...X..X...X............", "XXXXX..XXXXX..XXXXXX.X......XXXX...XXXX...XXXX...", "........X.....XX.....XX.X...XX.X...XX.X.XXXXXXXXX", "XX.....XX.....XXXXX..X......XXXX...X......XXXXX..", "..............X.X.X.XX.X.X.XX.XXX.XXXXXXXXXXXXXXX", ".....XX...XXXX......X..XXXXX.....XX..XXXXX.....XX", ".........X..X.XXX.XX.XXX.XXXXXXXXXXXXXXXXXXXXXXXX", ".........X......X....X.X....X.X...XX.X..XXXXXXXXX", "X......XXXX...XXX....XX.....XXXXXX.XXXXXX.XXXXX..", ".......X......X.....XX.....XXX....XXXX...XXXXXXXX", ".....XX.XXXXXX...XXXX.....XX.XXXXXX.XXXXXX..XXXXX", "XXXXXX.XXXX...XX.....XXXXXX.XXXXX..XXXX...XXXX...", "XXXXXXXXXXXXXXX.XX.X.X.XX.X.X.X..X.X.............", "......X....XXX......X..XXXXX.....XX.....XX...XXXX", "...........................X...XX.XX.XXXXXXXXXXXX", "..XXXXX....XXX..XXXXX.....XX..XXXXX...XXXX...XXXX", "XXXXXX.XXXX...XXX....XX.....XXX....XXX....XXXXX..", "XXXXXXXXXXX.XX.XXX.XX.XXX.X..XX.....XX...........", "XXXXXXX.XXXXXX..XXXXX..XX.X...XX.X...XX..........", ".....XX......X...XXXX.XXXXXX......X.XXXXXX....XXX", "X......XXXX...XX.....XXX....XX.....XXX....XXXXXX.", "XXXXX..XX.....X......XXXXX..XXXXX..X......X......", "XX.....XXXXX..XXXXX..XX.....XXXXX..XXXX...XXXXX..", "......................X......X.X....XXX..XXXXXXXX", "XXXX...XXXX...XX.....XXXX...XXXXX..XXXXX..XXX....", "....XXX..XXXXX..XXXXX.....XX.XXXXXX.XXXXXX.....XX", ".........X....X.XX...X.XX..XX.XXX.XX.XXXXXXXXXXXX", ".XXXXXX....XXX....XXX....XXX...XXXX.XXXXXX......X", "XXXXXXX.XXXXXX..XXXX...XXXX...X..X...X...........", "XXXXXXXXXXXXXX.X..XX..X...X..X...X..X............"}

    Returns: 25

  9. "X......XXXXXX.XXXX...XX.....XXXXXX.XXXXXX.XXXX..."

    {"XXXXXXXXX..X.XX...X.XX...X..X...X..X.............", "XXXXXX.XX.....XXXX...XX.....XXXX...XX.....XXX....", "XXXXXXXXXXXXX..X..XX..X...X......................", "XXX....XXXXXX.XXXXXX.XXX....XX.....X......XXXXX..", ".XXXXXX.XXXXXX.....XX...XXXX......X......X.....XX", "...........XX.....XX.....XX..X..XX.XX..XX.XXXXXXX", "XXX....X......XXXXXX.XXXXX..XXXXX..X......XXXX...", "XXXXXX.XXXXXX.XX.....XXXXXX.XXXX...XXXXX..XXXX...", "XXXXXXXXXX.XXXXXX.XXX.XX...X..X......X...........", ".......X.X....X.X....XXX.X.XXXX.X.XXXXXXXXXXXXXXX", ".....XX.XXXXXX......X..XXXXX...XXXX.XXXXXX...XXXX", "XXXXXXXXXXXXXXXXXXXX.XXX.XX..X..XX..X..XX........", "XXXXXXX.XXXXXX.XXXX.X.XX.X.X.X..X.X....X.X.......", "XXXXXXXXXXXXXXXXXXXXXXXX.XXX.XX.X.X.XX.X.X.......", "XXXXXXXX.XXXXXX.XXXXX..X.XX...X.X......X.........", "XXXXXXX.XXXX.X.XXXX...XXX....X.X....X............", "X......X......XXXX...X......XXXXXX.XXXX...XXXXX..", "XXXXXXXXXX..XXXXX..XXXXX..XXX....X.X.............", "XXXXX..X......XXX....XX.....X......XXXXXX.XXX....", "XXXXXXXXXXXXX.XXXX.X.X.XX.X...X..X...X..X........", "XXXXXXXXX.XXXXX..X.XXX....XXX....................", "..XXXXX......X...XXXX.....XX.XXXXXX..XXXXX..XXXXX", "XXXXXXXXXX.XXXXXX..XXXX...XXX....XXX....XX.......", "XXXXXXXXX.X.XXX..X...............................", ".......X..X...X..X...X.XX...X.XX...XXXX.XXXXXXXXX", "X......XX.....XXXXX..XXXXX..XXX....XX.....XXXXXX.", "XXXXXXX.X.XXXX.X.XXXX.X.XX.X...XX.X..............", ".............X......X.....XXX...XXXX..XXXXXXXXXXX", "XXXXXXXX.XXXXXX.XXXXXX.XXX.X..XXX................", "...XXXX....XXX.XXXXXX...XXXX....XXX.....XX.....XX", "..XXXXX...XXXX.XXXXXX....XXX.....XX....XXX...XXXX", "..............X....X.X....XXX.XXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXX.XXX.XX.X.X.X......X.......", "XXXXXXXXXXXXX.X.XXXX...XXXX...X..................", ".......X.X.X..XXXXX..XXXXX..XXXXXX.XXXXXX.XXXXXXX", "...................X.X.XX.XXX.XX.XXXXXXXXXXXXXXXX", "XXXXXXXX..XX.XX..XX.XX..X..X...X..X......X.......", ".....XX......X...XXXX.....XX...XXXX......X......X", ".XXXXXX......X....XXX.....XX..XXXXX..XXXXX...XXXX", "XXX....XXX....X......XXXXX..XXXXXX.XXXXXX.X......", ".......X.XXXX.X.XXXX.X.XXXXXX.XXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX.XXXXX..XXXXX..X.XX......X........", ".......X..X...X..X...X.XXXX.X.XXXX.X.XXXX.XXXXXXX", "XXXXXXXXXXXXXX.XXX.XX.XXX.X..XXX.X..X.X.X........", "...........X..X...X..XX..X..XXXXX..XXXXXXXXXXXXXX", "..........X......X...X..X...X..X...X.XXX..XXXXXXX", "XXXXX..XX.....XXXXXX.XX.....X......X......XXXX...", "XXXXX..XX.....XX.....X......XX.....XXXXX..XXXXXX.", ".....XX..XXXXX....XXX......X.....XX.XXXXXX..XXXXX", "..................X...X..X...X.XXX..XXXXX.XXXXXXX"}

    Returns: -1

  10. "X......XX.....X......X......XXXX...X......XX....."

    {"XXXXX..XXXXXX.XXXX...XXXXXX.XXXXXX.XXXXX..XXXXXX.", "XX.....XXXX...XXXXXX.XX.....XXXXX..XXXXX..XXXXXX.", "..XXXXX...XXXX....XXX......X......X......X......X", "XXXXXXXXXXXXXXXXX.XXXXXX.X.XX...X......X.........", "XXXXX..XXXXXX.XXXXX..X......XX.....XXX....XXXXXX.", "...........XX...X.XX..XX.XX.XXX.XX.XXX.XX.XXXXXXX", "XXXX...XX.....XXX....XX.....XX.....XX.....XXXX...", "XXXXXXXXXX.XXXX.X..XXX.X....X.X..................", "...........XX.....XX..X..XX..XX.XX.XXXXXXXXXXXXXX", "............XX.X...XX.XX..XXXXX..XXXXXX.XXXXXXXXX", "..............X......X...X..X.X.XXXX.XXXXXXXXXXXX", "XXXX...X......XXXXX..XXXXX..XXX....XXX....XX.....", "XXXXXXXXXXXXXX.XXXXX..XXXXX....XXX.....XX........", ".........X......XX.X.X.XX.X.X.XXXX.X.XXXXXXXXXXXX", "............XX.....XX....XXX.X..XXX.X.XXXXXXXXXXX", ".........X......X......X....X.XX..XX.XX.XXXXXXXXX", "XXXXXX.XXX....XXXXX..XXXX...XXX....XX.....XXXXX..", "XXXXXXXXXXX.XX..XX..X............................", "XX.....XX.....XXXXX..XX.....XXXX...XXXXX..X......", "...XXXX...XXXX......X.XXXXXX....XXX...XXXX..XXXXX", "XXXXXXXXXX..XXXXX..XXXXX..XXXXX..XX.....XX.......", "........X.....XX..X..XX..XX.XX..XX.XXXXXXXXXXXXXX", "......X...XXXX..XXXXX.....XX..XXXXX.XXXXXX.....XX", ".XXXXXX.XXXXXX....XXX...XXXX..XXXXX.XXXXXX....XXX", "XXX....XXX....XX.....XXXXX..XX.....XXXX...XXXX...", "XX.....XX.....XXXXXX.XXXXX..X......XX.....XXXXX..", ".............X......X.X....XXX....XXX.XX.XXXXXXXX", "..XXXXX......X....XXX.XXXXXX......X.....XX....XXX", "..........XX.XX..XX.XXX.XX.XXXXXX.XXXXXX.XXXXXXXX", ".......X......X....X.XX...XXXXX..XXXXXXXXXXXXXXXX", "..............XX...X.XX...X.XXX..XXXXX..XXXXXXXXX", "..XXXXX..XXXXX..XXXXX......X.....XX....XXX......X", ".....XX...XXXX.XXXXXX.XXXXXX......X......X....XXX", "XXXXXXXXX.XXXXXX..XXXX....XXX....X.X....X........", "XXXXXXXXXXXXXXXXXX.X.XX.X.X..X...X..X...X........", "XXXXXXXX.X.XXXX.X.XXXX.X.XXXX...X.X..............", "XXX....XX.....X......XXXXX..XXX....XXXXXX.XX.....", "XXXXXXXXXXX.XX.X.X.XX.X.X.XX.X.X.X..X.X.X........", "XX.....X......XXX....X......XXX....XXXXX..XX.....", "XXXXXXXXXXXXXX.XXXXXX....X.......................", "..........X.....XX.....XX..X..XX.XXXXXXXXXXXXXXXX", "XXXXXXX.X.XXXX.X.XXX..X.XXX....XXX....XXX........", "XXXXXXX.X...XX.....X.............................", "XXXXXX.XXXX...XXXXX..XXXX...XXX....XXXX...XX.....", ".........X......X...X.XX...X.XX...X.XXXXXXXXXXXXX", "XX.....XXXXX..XX.....X......XX.....XXXXX..XX.....", "XXXXXX.X......X......XXXXXX.XXXX...XXX....X......", "XXXXXXXXX..XXXX...XXX....XXX......X..............", "......X....XXX....XXX......X...XXXX.....XX......X", ".XXXXXX.XXXXXX..XXXXX....XXX..XXXXX.XXXXXX...XXXX"}

    Returns: -1

  11. "XX.....XX.....XXX....X......XX.....XXXX...XXXXX.."

    {"XXXXXXXXXXXXXXXXXX.XXX..X.X.X..X.X.X.............", "XXXXXXXXXXXXXXXXXXXX.XXX.XX..XX.XX...X...........", "XXX....XXXXXX.XX.....X......XXXXXX.XXXXX..XXXXXX.", ".XXXXXX....XXX....XXX......X..XXXXX..XXXXX.XXXXXX", "...................X..X...X..XX..X.XXXX.X.XXXXXXX", "XXXXXXXX.X.XXXX.X.XXXX...XX.X...X......X.........", ".....XX....XXX..XXXXX.XXXXXX...XXXX..XXXXX..XXXXX", "XXXXXXXXXXXXXXX.X.X..X.X.X.......................", "XXXX...XXX....XX.....XX.....XXXXXX.XXXX...X......", "..XXXXX....XXX....XXX...XXXX.....XX..XXXXX...XXXX", "................X......X......XX...X.XXX.XXXXXXXX", "XXXXXXX.X.XXXX.X.XXXX...XX.X...XX.X...X..X.......", ".................X.X....XXXXX..XXXXXXXXXXXXXXXXXX", ".XXXXXX.....XX..XXXXX..XXXXX.....XX.XXXXXX.XXXXXX", "XXX....XXXXXX.XXXXXX.XXXXX..XXXXX..X......XXXX...", "...XXXX...XXXX..XXXXX....XXX..XXXXX..XXXXX.....XX", "XXXXXXXX.XXXXX..XXXXX...XXXX...X.XX...X.X........", "XXXXXXXXXXXXXX..XXXXX..XXXX...XX.X...............", "XX.....XXXXXX.X......XX.....XXXX...X......XXXXXX.", "XXXXXXXXX.XXXXXX.XXXXXX..X.XX.....XX.............", "XXX....XXXXXX.XX.....X......X......XXXXXX.XX.....", "...............XX.XX.XXXXXX.XXXXXX.XXXXXX.XXXXXXX", "..XXXXX...XXXX..XXXXX..XXXXX......X.XXXXXX....XXX", "X......XXXXXX.XXXXXX.XXXX...XX.....XXXXX..XXX....", "XXXXXXXXXXXXXXX.XXXXXX.XX.XX..X..XX.....XX.......", ".......................X..X.X.X.XX.XXXXXXXXXXXXXX", "....XXX.....XX....XXX......X....XXX..XXXXX....XXX", "..XXXXX..XXXXX....XXX....XXX...XXXX...XXXX.XXXXXX", "XXXXXX.XXXXX..XXX....XX.....XXXXXX.XXX....XXXX...", "X......XXXXXX.XXX....X......XXX....XXX....X......", "XXXXXX.XXX....XXXX...XXX....XX.....XXX....XX.....", "XXXXXXX.X..XXX.X..XXX.....X......X...............", "XXXXXXXXXXXXXXXXXX..XXXXX..XX.XX..X..X...X.......", "...XXXX.XXXXXX....XXX......X....XXX....XXX.....XX", "........X......X..X...X..X.XXX..X.XXXXXXXXXXXXXXX", "XXXXXXXXXXXXX.XXX.X...XX.........................", "X......XXXXXX.XXXXX..XXX....XXXXXX.XXXX...XXXXX..", "...XXXX.XXXXXX......X......X...XXXX...XXXX.XXXXXX", "XXXXXXXXXXXXXX.X.XX.....XX.....XX.....XX.........", "....XXX.XXXXXX.XXXXXX....XXX......X....XXX.XXXXXX", "....XXX..XXXXX.....XX.XXXXXX.....XX...XXXX...XXXX", "...........X......X...XX.XX.XXX.XX.XXXXXX.XXXXXXX", "XXXX...XXXXXX.XX.....X......XXXXX..XXXXX..XXXXX..", ".XXXXXX.XXXXXX..XXXXX....XXX...XXXX.....XX......X", "....XXX..XXXXX....XXX.....XX.XXXXXX....XXX.XXXXXX", "..................XX.XX.XXX.XX.XXX.XXXXXX.XXXXXXX", "XXXXXXXXXXXXX.X.XXXX...XXX....XXX.....XX.........", "XXXXXXXXXXX.XXXXX..XX.XX..XX.XX...X..............", "...........X...X.XX..XXXXX..XXXXX..XXXXXX.XXXXXXX", "XXXXXXXX.XXXXX..X..XX..X..XX..X.................."}

    Returns: 6

  12. "XXX....X......XXXXXX.XXXXX..XXX....XX.....XX....."

    {"..............X......X......XX.X.XXXXXXXXXXXXXXXX", "X......XXXXXX.X......XX.....XX.....XXXX...XXX....", "XXX....XX.....X......XXXXX..XXXX...XXXXX..XXXXXX.", "...................X...XXXXX.XXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX..X.XX...X.XX...X..X......X.......", ".....XX...XXXX......X...XXXX....XXX..XXXXX.....XX", "XXXXXXXXXXXXXXXXXXXXX.XXXX....XXX.....X..........", "......X.XXXXXX.....XX.....XX....XXX..XXXXX....XXX", "........X.X....X.X.X..X.X.X.XXXX.XXXXXX.XXXXXXXXX", "XX.....XXX....X......X......XXXXX..XXXXX..XXXX...", "............X.XX...X.XXX..XXXXX..XXXXXXXXXXXXXXXX", "XXXXXXXXXX..X......X......X......................", ".....XX..XXXXX.XXXXXX.....XX..XXXXX.....XX.XXXXXX", "XXXX...XXXXX..XXXX...XXXX...XXX....XXX....XX.....", "...XXXX.....XX....XXX.....XX......X...XXXX....XXX", "......X.....XX.XXXXXX......X....XXX....XXX...XXXX", "...XXXX.....XX....XXX......X......X.....XX.....XX", "XXXXXXXXX.XXXXXX.XXXXXX.XXXX.....XX......X.......", "..XXXXX.....XX..XXXXX.....XX.....XX...XXXX.....XX", ".......X..XX..X..XX..XXXXXX.XXXXXX.XXXXXXXXXXXXXX", "..XXXXX.XXXXXX......X.....XX..XXXXX..XXXXX....XXX", "XX.....X......XX.....X......X......XX.....XXXX...", "XXXXXXXXXXX..XX..X..XX..X..X...X......X..........", "..XXXXX..XXXXX...XXXX....XXX......X...XXXX..XXXXX", "X......X......X......X......XXXX...XXXXX..XXX....", "....XXX...XXXX..XXXXX.....XX......X.XXXXXX..XXXXX", "...XXXX....XXX..XXXXX.XXXXXX..XXXXX....XXX...XXXX", ".................X......X.XX...X.XX..XX.XXXXXXXXX", "...XXXX....XXX.....XX....XXX..XXXXX.XXXXXX..XXXXX", "XXX....XXXX...XXXX...X......XXXXXX.XX.....XX.....", "XXXXX..XX.....XXXXXX.XXX....XX.....XXXXX..XX.....", "XXXXXXXXXX.X..XX..X..XX.....XX.....X.............", "X......XX.....XXXX...XX.....XXXXXX.XXXX...XXXXXX.", "XXXXXXX...XXXX...XXXX......X......X..............", "XXXXXXXXXX.XXXX.X.XXXX.X..XXX....XX..............", "X......XXXXX..XXXXX..XX.....XX.....XXX....XXX....", "....XXX...XXXX......X......X.XXXXXX.....XX....XXX", ".........X.X....X.X...XXXX...XXXXX.XXXXXX.XXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X..X..............", "..............X......X.....XX...XXXX.XXXXXXXXXXXX", "XXXXXXX.XXXXXX.XXXXX..X.XXX..X.XXX..X..X.........", "XXXXXXXXXXXXXX.XXXXXX.XX.XX......................", "XXXXXXXXXXXXXX.XX..XX.XX...X.XX.....X............", "XXXX...XXXX...XXXXX..XXXX...XXXXX..XXXXX..XXX....", "..XXXXX.XXXXXX....XXX.XXXXXX.XXXXXX...XXXX.....XX", "..XXXXX......X......X..XXXXX...XXXX..XXXXX......X", "XXXXXXXXXXXX.XXX.XX.X.X.XX.X...XX................", "XXXXXXXX.XXXXX..X.XXX..X.XXX..X..XX..X...X.......", "............X.....XX..X..XX..XX.XXX.XXXXXXXXXXXXX", "..XXXXX.....XX...XXXX......X..XXXXX...XXXX.....XX"}

    Returns: -1

  13. "XXXXX..XX.....XXX....XXX....XXXXXX.XXXXXX.XXX...."

    {".....XX.XXXXXX.....XX...XXXX....XXX..XXXXX......X", ".........X......X.....XX...X.XX...X.XX..XXXXXXXXX", "XXXXXX.XX.....XXXXXX.XXX....XXXXX..XXX....XX.....", ".................X.X....X.X.X..X.XXXXXX.XXXXXXXXX", ".XXXXXX.XXXXXX......X..XXXXX...XXXX...XXXX.XXXXXX", "...........X......XX..X..XX..X..XX..X.XXX.XXXXXXX", "XXXXXXXXXXX.XXXXXX.XXXXXX..XXXX...X.X............", ".....................X.X...XXXXX..XXXXXX.XXXXXXXX", "XXXXXXXXXX.X.XXX..X.XXX..X.XXX....XXX............", "....XXX..XXXXX......X......X.XXXXXX......X.XXXXXX", ".........X...XXXXX..XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXX.XXX.XX.XXX.XX.X...........", "XXXXXXXXXX.XXXXXX.XXXXXX.XXX..X...X......X.......", "XXXXX..XXXX...X......XXXXXX.XXXX...XXXXX..X......", "......X...XXXX.....XX.XXXXXX....XXX......X.....XX", "XXXXXXXXX..XXXX...XXXX...XXXX...XX.....X.........", ".XXXXXX....XXX.....XX......X.....XX.....XX..XXXXX", "XXXXXXXXX..XXXX...XX.X...XX......................", "......X.XXXXXX.XXXXXX...XXXX.....XX.XXXXXX....XXX", "..XXXXX...XXXX.....XX.XXXXXX..XXXXX......X......X", "XXXXXXX.XXXXXX..XXX.X..XXX.X..X.X.X..............", "..XXXXX.....XX..XXXXX...XXXX.XXXXXX...XXXX.....XX", ".......XX.X...XXXX..XXXXX..XXXXXXXXXXXXXXXXXXXXXX", "....XXX.....XX...XXXX..XXXXX..XXXXX....XXX..XXXXX", ".......X..XX..XX.XX.XXX.XX.XXX.XX.XXXXXX.XXXXXXXX", "X......XXXX...XXXX...XX.....XXXXX..XX.....XXX....", "XXXXXXXX.XXXX.X.XX.X...XX.....XX.................", "XXXXXXXXXXX..XXXX....XXX......X......X...........", "XXXXX..XXX....XX.....X......XXXXX..XXXXXX.XXX....", "...XXXX......X...XXXX...XXXX...XXXX...XXXX....XXX", ".............X....X.X.X.XXXX.X.XXXX.XXXXXXXXXXXXX", "XXXXXXXX.XX.X...XX.X...XX.....XX.....X...........", "..................X..X...X..X..XXX.X.XXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXX.XXXX.X.XXX..X...X.......", "........X....X.X..X.X.X..X.XXX..X.XXX.XXXXXXXXXXX", "..XXXXX......X....XXX......X..XXXXX....XXX...XXXX", "XXXXXXXX.XXXXXX.XX.XXX.X..XXX.X..XXX.............", "............XX.XX..XX.XX..XXXXX.XXXXXX.XXXXXXXXXX", "..........X...XX.XX.XXXXXX.XXXXXX.XXXXXX.XXXXXXXX", "XXX....XX.....XXXX...XXXXXX.XXX....XX.....XXX....", "XXXXXXXX.XXX.X..XX..X..XX..X...X..X......X.......", "......X..XXXXX...XXXX....XXX.XXXXXX.XXXXXX......X", ".XXXXXX..XXXXX..XXXXX.....XX...XXXX..XXXXX.XXXXXX", "........X......X....X.X.X..XXXXX.XXXXXXXXXXXXXXXX", ".......X..X..XX..X..XX..X.XXXX.XXXXXX.XXXXXXXXXXX", "XXX....X......XXXXXX.XXX....XXXXXX.XXXXXX.X......", "......X.XXXXXX....XXX.XXXXXX...XXXX......X.....XX", "XXXXXXXX.XXXXXX..XXXX...XXX......................", "XXXXXXXX..XXXXX..XXX.X..XXX.X....X...............", "...XXXX.XXXXXX.....XX..XXXXX......X.XXXXXX.XXXXXX"}

    Returns: -1

  14. "XXX....XXXX...XXXXXX.XXXXXX.XXXXX..XXXX...X......"

    {"XX.....XXXXXX.X......XXX....XXX....XXXXX..XXXXX..", ".....XX......X...XXXX.XXXXXX..XXXXX....XXX.....XX", ".............X......X.X.XX.X.X.XX.X.XXXXXXXXXXXXX", ".....................X..X...XX.X...XXXXXXXXXXXXXX", "XXXXX..XXXXX..XX.....XX.....XXXXX..XXXX...X......", "XXXXXXXXX.XXXX.X.XXX.....XX......................", ".......X......X..X...X..X...X..X...X.XX..XXXXXXXX", "XXXXX..XX.....XXX....XXXX...XXXXX..XX.....XXXX...", "..........X......X......X......X...XXXX...XXXXXXX", "......X....XXX.XXXXXX.XXXXXX..XXXXX......X.XXXXXX", "XXXXXX.XXX....XXX....XXXXX..XXXX...XX.....XXXXX..", ".XXXXXX....XXX.....XX......X......X....XXX...XXXX", ".....XX......X.....XX.XXXXXX...XXXX..XXXXX......X", "XXXXXXXXX.XXXXXX.XXXXXX.XXXXX...XX.X...XX........", "XXXX...XXXXX..XXXX...XXXXXX.XXXXXX.X......XX.....", ".....XX......X....XXX......X....XXX..XXXXX.....XX", "XXXXX..XXX....XXXXX..XXXXX..XXX....X......X......", "XXXXXX.XX.....XX.....XX.....XX.....XXX....X......", "X......X......XX.....X......XX.....XXXXX..XXXXX..", "XXXXXXX.XXXXXX.XX.XXX..X.X.X..X...X......X.......", ".................XX.X...XX.X...XX.XX.XXX.XXXXXXXX", "XXXX...XXXX...XXXXX..XX.....X......XXXXX..XX.....", "XXXXXXX.XXXX.X.X..X.X.X....X.....................", "....XXX....XXX....XXX.XXXXXX...XXXX..XXXXX.....XX", "XXXX...XXXX...X......XXXXX..XXXXXX.XXX....XXXXX..", "XXXXXXXX.XXXXXX.XXXX.X.XXXX.X..X.X.X..X..........", "...........X......X......XX...X.XXX..X.XXXXXXXXXX", "XXXXXXXXXX.XXXXXX..XXX.X..XX.....XX.....X........", ".....XX...XXXX......X.XXXXXX......X.....XX.....XX", "...XXXX..XXXXX...XXXX..XXXXX......X...XXXX......X", ".......X.X....X.X....X.X..X.X.X.XX.X.XXXX.XXXXXXX", "XXXXXXXX..XXXXX..XXXXX..XXXXX..X.XX...X.XX.......", "XXXX...XX.....XXXXX..XXXXX..XXX....XX.....XX.....", "XXXXXXXXXXXXXXX.XXXXXX.XX...X.XX.................", "XXXXXXXXXXX.XXX.XX.XXX.XX.X.X.X..................", "XXXXXXXXXXX.XX.XXX.X..XX..X...X..X......X........", "XXXXXXXXX.XXXX...X.XX.....XX......X..............", "XXXXXXXXXX.XXXXXX...XXXX......X..................", "XXXX...XX.....XXXX...XXXX...XXXXXX.XXXXXX.XXXX...", "...XXXX....XXX.XXXXXX......X...XXXX....XXX.XXXXXX", "..........XX...XXXX...XXXX..XXXXXX.XXXXXX.XXXXXXX", "XX.....XX.....XXXX...XX.....XXX....XX.....XXXX...", "....XXX...XXXX......X...XXXX.....XX.....XX....XXX", "XXXXX..XXXXXX.XXXXXX.XXXXX..XXXXXX.XX.....XXXX...", "...........X....XXX....XXX..X.XXXXXX.XXXXXXXXXXXX", "..XXXXX.XXXXXX..XXXXX...XXXX.....XX.....XX...XXXX", ".XXXXXX.....XX......X....XXX......X......X......X", ".....XX.....XX..XXXXX......X....XXX......X.XXXXXX", "XXXXXXXXXXXXXXXXX.XXXX.X.XXXX.X.X.X......X.......", ".........X..X..XX..X..XX..X.XXX..X.XXXXXX.XXXXXXX"}

    Returns: 11

  15. "XXX....X......XXX....XXXXX..X......XXXXX..XXXXXX."

    {"XX.....XXX....XXXX...XX.....XXXXX..XXXXXX.XXXXX..", "XXXX...XXX....XX.....XXXX...X......XX.....XXXXXX.", "XXXXXXXXX.XXXXXX.XXXXXX.XXX.XX..X..X.............", "XX.....XXXX...XXXXX..XXXX...X......XXX....XX.....", "XXXXXXXXXXXX.XX..XX.X....X.X....X.X......X.......", "XXXX...XXXX...XXXXX..XXX....XXX....XXXXX..XXX....", "......X......X.XXXXXX......X......X..XXXXX......X", "X......X......XXXXX..XXX....XXXXX..XXX....XX.....", ".....XX..XXXXX....XXX.XXXXXX......X.....XX......X", "..........X.....XX...X.XX..XX.XX..XX.XX..XXXXXXXX", "XX.....X......XXXXXX.X......XXXXXX.XXXX...XXXXXX.", ".......X......XX.....XX..X..XX..X..XX..X.XXXXXXXX", "....XXX.XXXXXX..XXXXX...XXXX..XXXXX....XXX....XXX", "XXXXXXXXXXXXXXXXXXXXXXXX.XX.....XX.....X.........", "XXXXXXXXXXXXXX.XXXX.X.XXX..X.X....X.X............", "XXXXXXXXXXXXXXXX..XXX.X..X.X.....................", "....XXX....XXX......X...XXXX.XXXXXX....XXX.XXXXXX", "XXXXXXXXXX.XXXXX..XX..X..XX..X..XX..X..X.........", "XXXXX..XX.....XX.....XXXX...XXXXXX.X......XX.....", "XXXX...XXX....XXX....XXXXXX.XXXXXX.XX.....XXX....", "XX.....XXX....X......XXXXXX.X......XX.....XXX....", "X......XXXXXX.X......X......XX.....XXX....XX.....", ".......X....X.X....X.X...XX.XX..XX.XXXXXX.XXXXXXX", ".XXXXXX.XXXXXX.....XX...XXXX..XXXXX....XXX....XXX", "XXXX...XXXXXX.XXXXX..XXXX...XX.....XXXXXX.XX.....", "....XXX.XXXXXX..XXXXX...XXXX.XXXXXX....XXX.XXXXXX", "........X......X..X..XXX.X..XXX.X..XXXXXX.XXXXXXX", "..XXXXX......X..XXXXX...XXXX..XXXXX....XXX....XXX", "XXXXXXXX.XX.XXX.XX.XXX..X.XXX..X..X...X..X.......", "XX.....XXXXX..XXXXXX.XXXXX..X......XXXXX..XXXXX..", "XXXXXXXXXX...XX.X...XX.....X......X..............", "XXXXXXXXX.XXX.XX.XXX.XX.XXX....XX................", "........X...XXXXX..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................X..X..XX..X..XX.XXXXXX.XXXXXXXX", "........X.....XX.....XX....XXXX.XXXXXX.XXXXXXXXXX", "XXXX...XXXXXX.XXXX...XXXXX..XXX....X......XX.....", "..............X......X..XX..X..XXXXXX.XXXXXXXXXXX", "...XXXX.XXXXXX...XXXX.XXXXXX.....XX...XXXX.....XX", ".......X......X......XXX.X..XXXXX..XXXXXX.XXXXXXX", "X......XX.....XXXX...XXXX...XXXXXX.X......X......", "..........X......X..X.X.XX.X.XXXX.XXXXXX.XXXXXXXX", ".......X...X..X.XXX..XXXXX.XXXXXXXXXXXXXXXXXXXXXX", "........X......X......XX...X.XX...X.XXX.XXXXXXXXX", "X......X......XXXX...XXX....XXXXXX.XXXXX..X......", "XXXXXX.XX.....XXXX...XXXXXX.XXX....XXXX...XX.....", "XX.....X......X......XXXXXX.XXX....X......XXXX...", "X......XXXXXX.XXXX...XX.....X......XXXXXX.XXX....", ".........X....X.X..X.X.X.XX.X.X.XX.X.XXXX.XXXXXXX", "XXXX...XXXXX..XXX....XX.....X......X......X......", "...............X...X..X...X..X.X.XXXX.XXXXXXXXXXX"}

    Returns: -1

  16. "XX.....XX.....XXXX...XX.....XXXX...XXXX...XXXXXX."

    {"XXXXXXXXXXXXX.X.XXXX...X.X.......................", "....XXX..XXXXX..XXXXX..XXXXX..XXXXX...XXXX......X", "XXXXXXXX.XXXXX..XXXXX....XXX....X................", "....XXX......X....XXX.....XX......X..XXXXX......X", "XXXXXXXXXXXXXXXX..XXXXX...XXXX...XXXX...XX.......", "..........XX.....XX.X.XXXX.X.XXXX.X.XXXX.XXXXXXXX", ".XXXXXX.....XX...XXXX.XXXXXX..XXXXX.....XX.....XX", "..XXXXX.....XX.....XX..XXXXX.....XX.....XX...XXXX", "XXXXX..XXXX...XX.....XXXX...XXXXXX.XX.....XXX....", "....................X....XXXX.XXXXXXXXXXXXXXXXXXX", "XXX....XXXXXX.XXXXX..XXXXX..XX.....XX.....XXX....", "XXXXXXXXXXXXXX.XXXXXX.X..XX.....XX......X........", "..XXXXX.....XX.....XX....XXX..XXXXX.....XX.....XX", "XXXXXX.XXXXX..X......XXXX...XX.....XXX....XXXXXX.", "XXXXXXXXX..XXX.X......X..........................", "XXXXXXXXX.XXXXX..X.XXX..X..X...X..X...X..X.......", "XXXX...XXXX...XXX....X......XX.....XXX....XXXXXX.", "........XX.....XX.....XXX....XXX....XXXXXXXXXXXXX", "......X......X.XXXXXX......X..XXXXX.....XX...XXXX", "XXXXXXX...XXXX...XXX.............................", ".......X....X.X.X..X.X.X..X.X.X..XXXXX..XXXXXXXXX", "XXXXXXXXXX.XXXXX..XXX.X..XXX.X..XXX.X...X........", "XXXXXXXXXXXXX.X.XXXX.X.XXX..X.XXX..X.XX..........", "XXXXXXX.XXXXX...XXXX...XXX....XX.................", "XXXXXXX.XXXXXX..XXXXX...X.XX...X.XX..............", "......................X..X...X.XXXXXXXXXXXXXXXXXX", "XX.....XXXX...XXXXXX.XXXXX..XXX....XX.....XXXXX..", "XXXXXX.XX.....XXXXX..X......X......XXXXX..XXXXX..", "XXXXXXXXXXXXXXXXXXX.XXXXXX.XX.XX..X..............", ".....XX.....XX.....XX...XXXX..XXXXX..XXXXX...XXXX", "XXXXX..XX.....XXXX...XX.....XXXX...XXXX...XXXXXX.", "XXX....XXXXX..XXX....X......XXXXXX.XXXXXX.X......", ".XXXXXX..XXXXX..XXXXX..XXXXX..XXXXX.....XX...XXXX", "XXXXXXXXXXX..XXXXX..X.XXX..X..X..................", "..XXXXX.XXXXXX.....XX...XXXX...XXXX...XXXX....XXX", "XXXXXXXXX.XXXX.X.X.X..X.X.X..X...................", "X......XXX....X......XXXX...XXX....X......XXX....", "........X......X.X....XXX.XX.XXXXXX.XXXXXXXXXXXXX", "XXXXXXXXXXXX.XXX.X..XXX.X...XX.X...XX............", "XXXXX..X......XXXX...XXXX...XXXXXX.XXXXX..XXXXXX.", ".......X.....XX.....XX..X.XXXX.X.XXXX.X.XXXXXXXXX", "..XXXXX......X.XXXXXX..XXXXX......X.....XX......X", "..XXXXX....XXX....XXX......X..XXXXX....XXX.....XX", "................X.....XX.X.XXXX.X.XXXX.X.XXXXXXXX", ".........X.X....X.XX.X.X.XXXX.X.XXXX.XXXXXXXXXXXX", "XXXXXXXXXXX.XXXXX..XX.XX..XX.X...XX.....XX.......", "X......XXXXX..XXXX...XX.....XXXXXX.X......XXXXXX.", "XXXX...XXXXX..X......XXXXXX.XX.....XXXX...XXXXXX.", "XXXX...XXXXXX.XXXXXX.XX.....XXX....X......X......", ".XXXXXX......X..XXXXX.....XX....XXX.....XX.....XX"}

    Returns: -1

  17. "XXXXX..XXX....XXX....XXXXXX.XXXX...XXXX...X......"

    {"........X......X...X..X...X..X.X.X.XXXXXXXXXXXXXX", "XXXXXXX.XXXXX..XX.XX..XX.XX.....X................", ".................X.X..XXX.X.XXXX.X.XXXX.X.XXXXXXX", "XX.....XX.....XXXXXX.XXXXX..X......XXXXXX.X......", ".....XX.XXXXXX..XXXXX....XXX...XXXX.....XX....XXX", ".............X......X.XX...X.XX.XXXXXX.XXXXXXXXXX", ".......X...X..X...X..XX..XX.XX..XXXXXX.XXXXXXXXXX", ".....XX..XXXXX...XXXX.....XX.....XX...XXXX...XXXX", "..................XX..X..XX..X.XXX..X.XXXXXXXXXXX", "....XXX.....XX......X...XXXX.XXXXXX.....XX......X", "...XXXX....XXX...XXXX.XXXXXX.....XX.XXXXXX.XXXXXX", ".......X......X.X....X.X....X.X.XX.X.X.XX.XXXXXXX", ".........X.X..X.X.X.XX.XXXXXXXXXXXXXXXXXXXXXXXXXX", "X......X......XX.....XXXXXX.XXXXX..XXXXXX.XX.....", ".............X......X..X.XXX..X.XXX.XXXXXXXXXXXXX", "XXXXXXXXXXX.XXXXXX.XX.XXX.XX.X.X.XX...X.XX.......", "XXXXXXXX.XX.XX..XX.X...XX......X......X..........", "....................X..XX..XXXXXXXXXXXXXXXXXXXXXX", "XXXXX..XX.....XXXXXX.XX.....XXXX...XX.....XXXXX..", "XXXXXXXXXX..XXX....XXX....X......................", "XXXXXXXXXXXXX..XXX.X..X...X..X...X...............", ".......X....X.X..X.X.X..X.X.XX.X.XXXXXX.XXXXXXXXX", "XXXXXXXXXXX.X.XXXX.X.XXX..X.X....................", "XXXXXXXXXXX.X.XXXX.X.XXXX.X.X.XX.X...X..X........", "XXX....XXXXX..XX.....XXX....XXXX...XXXXXX.XXXX...", "XXXXXXXXXXXXX.XXXXXX..X..XX.....XX.....X.........", "..........X.X....X.X..X.X.X..X.XXX..X.XXX.XXXXXXX", "....XXX.....XX..XXXXX.....XX.XXXXXX......X....XXX", "XXXXXXXXXXXXXXXX.X.XX...X..X...X......X..........", ".XXXXXX.XXXXXX......X...XXXX......X..XXXXX..XXXXX", ".....XX...XXXX.XXXXXX....XXX..XXXXX......X.....XX", "XXXXX..XX.....XXX....XXXXX..XXXXXX.XXXXXX.X......", "...XXXX...XXXX......X...XXXX......X......X......X", "...XXXX.XXXXXX..XXXXX......X....XXX....XXX......X", ".....XX.....XX.XXXXXX....XXX....XXX...XXXX.XXXXXX", "XX.....XXXXX..XXX....XXX....XXX....XXXX...X......", ".........XX.....XX.....XX...XXXXXX.XXXXXX.XXXXXXX", "XXXXXXXXXXXXXXXXX.XXXXXX..XXXX...X.X.............", "XX.....XXX....XXXX...XXX....XX.....X......X......", ".......X.X....X.X...XX.X..XXXXX..XXXXX.XXXXXXXXXX", "...XXXX..XXXXX......X...XXXX.XXXXXX...XXXX......X", "..XXXXX.XXXXXX......X......X.XXXXXX...XXXX..XXXXX", "..........X.....XXXX..XXXXX..XXXXX.XXXXXX.XXXXXXX", ".............X.X....X.XXX..X.XXX..XXXXXXXXXXXXXXX", "XX.....X......XX.....XXXXX..XXXX...XXXXX..X......", ".........XX.....XX.X...XX.X..XXXXX..XXXXXXXXXXXXX", "......X..XXXXX.XXXXXX....XXX......X.XXXXXX....XXX", "............X.X....X.XX...X.XXX..XXXXXXXXXXXXXXXX", "........X.X..X.X.X..X.X.X..XXXXX..XXXXXX.XXXXXXXX", "..............X..X.X.X..X.X.X..X.X.XXXXXX.XXXXXXX"}

    Returns: 5

  18. "X......X......XXXXX..XXXX...X......XXXX...X......"

    {"XXXXX..XXXX...XX.....XXX....XXX....XX.....X......", "XXXXXX.XXXXX..X......X......X......XX.....XXXX...", ".....XX....XXX....XXX.XXXXXX....XXX......X....XXX", "XXXXXXXX.X.XX.X.X.XX.....X......X................", ".......X......X...X..X.X.X..X.X.X..X.XXX.XXXXXXXX", ".................X.....XX...X.XX..XX.XXXXXXXXXXXX", ".................XX.X..XXX.X..XXX.X..XXX.XXXXXXXX", "X......XXX....XXX....XXXXX..XXXXX..XXXXX..XX.....", "XXXXXXXXXXXXX.XX..XX.XX...X..X...X..X...X........", "..XXXXX....XXX.XXXXXX.XXXXXX....XXX....XXX.....XX", "XXXXXX.XXX....XXXXX..XXXXXX.XXXXX..XXXXX..XXX....", ".......X...X..X.XXX..X.XXX.XX.XXX.XXXXXX.XXXXXXXX", "XXXXX..X......XXX....X......XX.....XX.....XXXXX..", ".XXXXXX..XXXXX....XXX......X...XXXX...XXXX..XXXXX", "XXXXXXXXXXXXXXXXXXXXXX...XXXX.....X..............", "........X..X...X..XX.XX.XXX.XX.XXX.XX.XXXXXXXXXXX", "....................XX....XXX....XXXXXXXXXXXXXXXX", ".....XX..XXXXX..XXXXX...XXXX......X.....XX.XXXXXX", ".......XX..X.XXX..X.XXX..XXXXX.XXXXXXXXXXXXXXXXXX", ".....XX......X.XXXXXX.....XX.....XX......X....XXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.XXXX....X.......", "XXXXXXXXXXXXXX.XXXX....X.X....X..................", "X......XXXXX..X......XX.....XXX....XX.....XXXXXX.", "XXXXXXX.XXXX...XXXX...XXXX......X......X.........", "XXXXXXXXXXXXXXXXXXXXXXXX.X.XX...X.X......X.......", "......X.....XX..XXXXX.XXXXXX.XXXXXX...XXXX......X", "XXXX...XXXX...XXX....X......X......XXX....XXXX...", "..XXXXX......X..XXXXX.XXXXXX...XXXX.....XX....XXX", "XX.....XXXX...XX.....XXX....XX.....X......XXXXX..", "......X......X..XXXXX....XXX..XXXXX....XXX.....XX", "..XXXXX....XXX....XXX....XXX......X....XXX......X", ".......X...X.XX.X.XXXX.X.XXXX.XXXXXXXXXXXXXXXXXXX", "...........X......X...X..X...X..X..XXXXX..XXXXXXX", "XXX....XXX....XXX....XXXXXX.XXXXXX.XXXXXX.XXXX...", "......................X.X.X.XXXX.X.XXXXXX.XXXXXXX", "XXXXXXXXXX.XX.XXX.XX.XXX..X..XX..X...............", "XXXXXXXX..XX.X...XX.X...X..X...X.................", "..XXXXX...XXXX...XXXX...XXXX......X..XXXXX..XXXXX", "......X.XXXXXX.....XX......X.XXXXXX.....XX.....XX", "..XXXXX.XXXXXX....XXX..XXXXX..XXXXX.....XX...XXXX", "XX.....XXXXXX.XXX....XX.....XXX....XXXXX..XXXX...", "XX.....X......XXXX...XXXXXX.XXXXXX.XXXX...XXXXXX.", "XXXXXXX..XXX.....XX......X......X................", "..........X......X......X.X....X.X.X.XXXX.XXXXXXX", "........X.....XX.....XX.X...XX.X...XX.XXXXXXXXXXX", "XXXXXXXXXX.XX.XXX.XX.XXX.XX..XX.....X............", "XXXX...XXX....XX.....XXXX...XXX....XX.....XXXX...", "XXXXXXXXXXXX.X.XXXX.X..XX.....XX.................", "XXXXXX.XXXXXX.XX.....X......XXXXX..X......XX.....", ".......X......X...X..X...X..X...X..X.X.X.XXXXXXXX"}

    Returns: -1

  19. "XXXXX..XXXXXX.X......XX.....XXXXXX.XXXXX..XXXXXX."

    {"XXXX...XXXXX..X......X......XXX....XXXX...XXXXX..", "XXXXXXXXXXXX.X.X.XX.X.X.X..X.X.X..X.X.X..X.......", ".......XXX....XXX...XXXX...XXXX.X.XXXXXX.XXXXXXXX", "...............X.X...XX.X..XXXXX..XXXXXX.XXXXXXXX", "XXXXXXXXXXXX.XXXXXX.X.XXXX....XXX.....X..........", "XXXXXXXX.XXXXXX.XXXXXX..XX.XX..XX.....X..........", "...XXXX....XXX..XXXXX..XXXXX......X.....XX.XXXXXX", "........X..X...XXXX...XXXXX.XXXXXX.XXXXXXXXXXXXXX", "XXXXXX.XXXX...XXXXXX.X......XXXXXX.XX.....XXXXX..", ".......X...X..X...X..X..XX..XX.XX.XXX.XX.XXXXXXXX", "...........X......XX....XXXX...XXXX.X.XXXXXXXXXXX", "XXXXXXXXXXXX.XX.X.X....X......X......X...........", "........X......X..X..XXX.X..XXX.XX.XXX.XXXXXXXXXX", "...XXXX....XXX....XXX.XXXXXX.XXXXXX..XXXXX.....XX", "..........X......XXX....XXX.X..XXX.X..XXXXXXXXXXX", "XXXXX..XXXX...XXX....XXX....XX.....XXX....XXXX...", ".....XX....XXX...XXXX..XXXXX.....XX..XXXXX..XXXXX", "XXXXXXXXXXXX.XXXXXX...XXXX...XX.X...X............", "XXXXXXXXXXXXX..XXXXX..X.XX...X.XX.....X..........", "XXX....XXXXX..XX.....X......XXXXX..XXX....X......", "...........X...XX.X..XXX.X..XXX.X.XXXX.XXXXXXXXXX", "XXXXXXXXXXXXX...XXXX...X.X......X................", "....XXX.XXXXXX......X.XXXXXX..XXXXX..XXXXX......X", ".......X...XX.X..XXX.X..XXXXXXXXXXXXXXXXXXXXXXXXX", "...........X......X.....XX.....XX...X.XX.XXXXXXXX", "XXX....XXX....X......XXXX...XX.....XX.....XXXXX..", "...XXXX....XXX...XXXX..XXXXX....XXX.XXXXXX......X", "XXXXXXXXXXXXXXXXXXXXXXXX.XXXXX..X.X.X............", "..........X......X.X....XXXX..XXXXXX.XXXXXXXXXXXX", "XXXXXXXX.XXX..X..XX.....XX.....XX......X.........", "XXXXXXX.XXXXXX..XX.XX..XX.XX..X..XX..X..X........", "........X...X..X...X..X...X.XXX..X.XXX..XXXXXXXXX", "..XXXXX.....XX...XXXX......X.XXXXXX......X....XXX", "...XXXX......X....XXX.....XX..XXXXX..XXXXX......X", "......X..XXXXX..XXXXX.....XX..XXXXX...XXXX.XXXXXX", "XXXXXXX.XXXXXX..XX.XX..X...X..X...X..X...X.......", ".......X.X.X..X.XXXX.X.XXXXXX.XXXXXX.XXXXXXXXXXXX", "X......XXXXXX.XXXXXX.XXXXX..XXX....X......XXXX...", "XXXXXX.X......XXXXX..XXXX...XX.....XX.....X......", "XXXX...X......XXXXX..X......XXXXX..XX.....XXXXXX.", "XXXXXXX.X.XXXX.X.XXXX...XXXX......X..............", "..........X......X......X..X..XX..X..XXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXX.XXXXXX..XX..X...X..X.......", "...............XX.....XX.X..XXXXX..XXXXX.XXXXXXXX", "X......XXX....XXXXXX.X......XXX....XX.....XX.....", ".............X....X.XX.X.X.XX.X.X.XXXX.XXXXXXXXXX", "XXXXXXXXX.XXXXXX.XX.XXX..X.XX.....X......X.......", "....XXX....XXX....XXX.XXXXXX.....XX.XXXXXX.XXXXXX", "XXXXXX.XXX....XX.....XXXXXX.XXXXX..XX.....XXXXX..", "XXXXXXXXXXXXXXXXXXXXXXXX.X.X..X.X.X..X..........."}

    Returns: -1

  20. "XX.....XXXXX..XXX....XX.....XX.....XXXXX..XXXXXX."

    {".........X...X..X.X.X.XX.X.X.XX.X.XXXX.X.XXXXXXXX", "X......XXXXX..X......X......X......XXXX...XXXXX..", "..XXXXX...XXXX...XXXX...XXXX......X..XXXXX.XXXXXX", "...............X.....XXXX...XXXXXXXXXXXXXXXXXXXXX", ".......X......X......X.XX...X.XX..XXXXX.XXXXXXXXX", ".XXXXXX......X.XXXXXX.XXXXXX.....XX......X....XXX", "XXXX...X......X......XXXXX..XXXX...XXX....XXXXXX.", "..............X.XX...X.XX...X.XX.X.X.XX.XXXXXXXXX", "XXXXX..XXXXX..X......XXXX...X......XX.....XXXX...", "XXXX...XXX....XXX....XXXXXX.X......XX.....XX.....", "XXXXXXXXXXXXXX.....XX.....XX.....XX..............", "XXXXXXXXX.XX.XXX.XX.XX..XX.XX..X......X..........", "...XXXX......X..XXXXX....XXX......X..XXXXX....XXX", "....XXX......X..XXXXX..XXXXX......X.XXXXXX..XXXXX", "XXXXXXXXX..XXXXX...XXXX...XX.....XX.....X........", ".XXXXXX....XXX....XXX.....XX.XXXXXX..XXXXX..XXXXX", "...XXXX....XXX......X......X......X....XXX....XXX", "XXXXX..X......XXXXXX.XX.....XXXXX..XXX....XXXXXX.", "........X..X.X.X..X.XXX..X.XXXXXX.XXXXXXXXXXXXXXX", "................X..X..XX..X..XX.XX..XX.XX.XXXXXXX", "XXXXXXXXXXXXXXXX.XXXX...XXXX....XX.....X.........", "....XXX.XXXXXX...XXXX......X.XXXXXX..XXXXX.XXXXXX", "XXXXXXXXXXXXX.XXX..X.XXX..X.XX......X............", ".XXXXXX.XXXXXX.....XX..XXXXX..XXXXX..XXXXX......X", "...XXXX.....XX.XXXXXX...XXXX....XXX.....XX.XXXXXX", ".......................XX.XX..XX.XX.XXX.XXXXXXXXX", ".XXXXXX......X...XXXX....XXX......X..XXXXX..XXXXX", "XXXXXXXXXXXX.X.XXXX.X..XXX....XXX.....XX.........", ".........X..X...X..X.X.X..XXXXX..XXXXX..XXXXXXXXX", "XXXXXXX..XXX.X..XXX.X....X.X....X......X.........", "........X.X..X.XXXX.XXXXXX.XXXXXX.XXXXXXXXXXXXXXX", ".......X...X..X...X..X...XX.XX..XX.XX.XXXXXXXXXXX", "........X......X......X.X...XX.X.X.XX.X.X.XXXXXXX", "X......X......XXXXX..XXXXX..XXXX...XX.....XXXXX..", "XXXXXXX.XXXXXX.XXX.XX..XX..X..XX..X..XX..........", "XXXXX..X......XXXXX..XXXXX..XXXXXX.XXX....XXXXXX.", "XXXXXXXX.XXXXX..X.XXX..X.XXX....X.X......X.......", ".....XX...XXXX....XXX.XXXXXX......X..XXXXX.....XX", "XXXXXXXXXXX.XXXX....XXX....X.X....X......X.......", "....XXX.....XX......X..XXXXX..XXXXX..XXXXX......X", "......X....XXX.XXXXXX.XXXXXX...XXXX...XXXX.XXXXXX", "XXXX...XXXX...XX.....XXXX...XXXXXX.XXXX...XXXXXX.", "XXXXX..XXX....XXX....X......X......XXXX...XXX....", "......X...XXXX....XXX.XXXXXX....XXX....XXX....XXX", "..........X......X......X..X...X..X.XXX.XXXXXXXXX", ".....XX...XXXX..XXXXX...XXXX...XXXX....XXX.....XX", "..............X......X.X....XXXXXXXXXXXXXXXXXXXXX", "XXXXXX.XXXX...XXXX...XX.....X......XXX....XXXX...", "XXXXX..XXX....XXXX...X......XXX....XXXXXX.XXXXXX.", ".........X......X......X.X..X.XXX..XXXXXXXXXXXXXX"}

    Returns: -1

  21. "XXXX...XX.....XXXXX..XXXXXX.XXXXX..XXXXX..XXXXX.."

    {".XXXXXX......X.....XX...XXXX..XXXXX....XXX..XXXXX", "XXXXXXXX.XXXX...XXXX.....XX.....XX.....X.........", "...............X......X.X....XXX..X.XXXXXXXXXXXXX", "XXXXX..XXX....XXXXX..X......XXXXXX.X......XXXXX..", "XXXXXXXX.XXXXX..XXXXX..XXXXX..XXX.X..XXX.X.......", "...............X......X.X....X.XX.XXX.XX.XXXXXXXX", "XXXXXX.XXXX...XXX....X......XXXXX..XXX....XXX....", "....XXX..XXXXX..XXXXX...XXXX.....XX...XXXX..XXXXX", "XXX....XXXXXX.XXX....XXX....XXXXXX.XX.....XX.....", "X......XXX....X......XXXXXX.XXXXX..X......XXXXXX.", "...............X..X.X.X..X.X.XX.XXX.XX.XXXXXXXXXX", "XX.....XXXX...XXXX...XXXXX..XXX....XXXXXX.XXXXXX.", "..........XXX.X..XXX.X..XXXXX..XXXXXXXXXXXXXXXXXX", "XXXXXX.XXXX...XXX....XXXXX..X......XXXXX..XX.....", "XXXXXX.XXXXX..XX.....XX.....X......XXXX...XXXXXX.", "XXXXXX.XXXXX..XXX....XXXX...XXXXXX.XXXXXX.XXXXXX.", "..............X.X....XXX....XXX....XXX..X.XXXXXXX", "XXXXXXX.XX.XXX.XX.XX..XX.XX..X..XX.....XX........", "XXXXXXXXXXXXX.XXXXXX..XX.XX..X..XX......X........", "...........X..X.X.X.XX.X.X.XXXX.X.XXXX.XXXXXXXXXX", "....XXX.....XX......X.....XX....XXX.....XX..XXXXX", "X......XX.....XX.....XX.....XXX....XXXXX..XXXXXX.", "XXXXXXXXXX.XXXXXX..XXXX...XXX....................", "XXXXX..XXXXX..XXX....XXX....XXX....XXXXXX.XXXXXX.", "XXXXXX.XX.....XXXX...XX.....XXXX...XXX....XX.....", "..........XX.....XX....XXX....XXXX..XXXXXXXXXXXXX", "XXXXX..XXXX...XXXXX..X......X......X......XXXXX..", ".......X...X..X.X.XX.X.X.XXXX.X.XXXXXXXXXXXXXXXXX", "XXXXXXXX.X..X...X..X...X..X......X...............", "XXXXXX.XXXXX..XXXXX..XXXXX..XXXXX..XX.....XX.....", ".....XX..XXXXX....XXX......X.XXXXXX......X....XXX", "....XXX..XXXXX.....XX......X.....XX.....XX......X", "X......X......XXX....X......X......XXX....X......", "...........X..X...XX.XX..XX.XX.XXX.XX.XXX.XXXXXXX", "X......XXXXX..XX.....XXXXXX.XXXXX..XX.....XXXXX..", "XXXXXXXXXXXXX.XXXXXX.X.X.XX.X.X.XX...X...........", "XXXXXXXX.XXXXXX.XX.XXX..X.X.X..X...X..X..........", "XXXXXXXXXXXXXXXXXX.XX.X...XX.....XX.....XX.......", "..XXXXX....XXX..XXXXX..XXXXX...XXXX..XXXXX.....XX", "......X.XXXXXX......X.....XX...XXXX.XXXXXX....XXX", "XXXXXX.XXXXX..X......XXXX...XXXX...XXXXXX.XXXXXX.", "......................X....X.X....X.XX.XXXXXXXXXX", "....XXX.XXXXXX..XXXXX.....XX.....XX.XXXXXX..XXXXX", ".........................X..X..XX..X.XXX..XXXXXXX", "XXXXXXXXXXXXX.XXXXXX..XX.XX..X..X......X.........", "..XXXXX.XXXXXX..XXXXX...XXXX......X.XXXXXX....XXX", "XXXXXXXXXX.XXXX.X.XX.X...X..X....................", "XXXX...X......X......XXX....XXXXXX.XXX....XXXXX..", "XXXXXX.XXX....XXX....XXXXXX.XXXX...XX.....XXXXX..", "XXXXX..XXXXX..X......XXXX...XXX....XXXXX..XXXX..."}

    Returns: -1

  22. "XX.....XXXXX..XX.....XXX....XXXX...XX.....XXX...."

    {"XXXX...XXXXX..XXXX...XXXX...XXXXX..XX.....XXXXX..", "...XXXX.....XX.....XX..XXXXX...XXXX.XXXXXX..XXXXX", ".XXXXXX......X....XXX.....XX.XXXXXX.XXXXXX...XXXX", "..............X...X..X..XX.XXXXXXXXXXXXXXXXXXXXXX", "....XXX..XXXXX..XXXXX......X.....XX....XXX.XXXXXX", "XX.....XX.....XXXX...XXX....XXXX...XXX....XXXX...", ".XXXXXX....XXX.XXXXXX...XXXX.XXXXXX....XXX...XXXX", "XXXXX..XXX....X......XXX....XX.....XX.....XXXX...", "..........X...X.XXX..X.XXX..X.XXX.XXXXXX.XXXXXXXX", "XXXXXXXXXXX..XXXX...XXXX...XXXX...XXXX...X.......", ".....XX......X....XXX....XXX..XXXXX...XXXX.XXXXXX", "...........X..X...X..X.X.X..X.XXXX.X.XXXXXXXXXXXX", "XXXXXXXXXXXXXXX.XX.X.X.X..X.X.X..X.X.X..X........", ".....XX.....XX......X..XXXXX....XXX......X.....XX", "XXXXXXX.XXXXXX.XXXXXX.XXX.XX..X..X...............", "XXXXXXXXX.XXXXXX.XX.XXX.X..XXX....XX.....X.......", ".....XX....XXX....XXX..XXXXX.XXXXXX.XXXXXX.....XX", "XXX....XXXXXX.X......XXXXX..XX.....XXXXXX.XXXXX..", "..XXXXX......X...XXXX..XXXXX....XXX...XXXX......X", "XXXXXXXX.XXXX.X.XXXX...XXXX...X.XX......X........", ".....XX......X...XXXX....XXX.....XX....XXX....XXX", "XX.....XX.....X......XXXX...XXXX...XXXXX..XX.....", "XXXXX..XXXX...X......XXXXX..XXX....XX.....XXXXX..", "XXXXXXXXXXXX.XXXXX..XXXXX...XX.....X.............", "XXXXXXXXXXXXXXXXXXXXX.XXX.XX..X...X......X.......", "X......XXXXX..XXXX...XXXXXX.XXX....XXXXX..X......", "XXXXXXXXXXXXXXXXX.XXX.XX.XXX.X..XX.....XX........", "XXXXXXXXXXXXXXXXXX...XXXX....XX..................", "XXXXXXX.XXXXXX.X.XXX....XXX......X...............", ".....XX......X....XXX..XXXXX......X....XXX......X", "......X.XXXXXX...XXXX...XXXX..XXXXX......X.XXXXXX", ".......X....X.X..X.X.X.XX.X.XXXX.X.XXXX.XXXXXXXXX", "XXXX...XXXXXX.XXXXX..XXXXX..XXXX...XXXXX..X......", ".........X......XX.....XXXX..XXXXXXXXXXXXXXXXXXXX", "...XXXX...XXXX....XXX..XXXXX...XXXX.....XX...XXXX", "XXXX...XX.....X......XXXXXX.XXXX...XXXXX..XXXX...", ".........X.X....X.X.X..XXXXX..XXXXXXXXXXXXXXXXXXX", "XX.....XXXX...XX.....XXXX...XXXX...XXXX...XXX....", "....XXX...XXXX....XXX.....XX.....XX.XXXXXX.XXXXXX", "........X......X....XXX...XXXX.X.XXXXXXXXXXXXXXXX", "....XXX.XXXXXX.XXXXXX......X.....XX..XXXXX.....XX", "XXXXX..XXXXX..XXXXXX.XXXX...XX.....XXXXX..XXXXX..", "................X...X..X...X..X.XXX..XXXXXXXXXXXX", "........X.....XXX....XXX.X..XXX.X..XXXXXX.XXXXXXX", "......X..XXXXX.XXXXXX......X..XXXXX..XXXXX......X", "XXXXXXXXX.XXXXXX.XX.X.X..X.X.X...................", "XXXXXXXXX.X.XXXX.X.X..X.X.X....X.................", ".........X......X......X...X..X..XXXXX..XXXXXXXXX", "X......X......XXX....X......X......XX.....XXXXXX.", "XXXXXXXXXXXX.XXX..X..XX..X..XX..X...X............"}

    Returns: -1

  23. "XXX....XXXX...X......XX.....XXX....XXXXX..XXXX..."

    {"XXXXXX.XXXXXX.XXXXXX.XXXX...X......X......XXX....", "XXXXXXXXXXXXXX.XXXXXX...X..X...X..X......X.......", "XXXXXXX.XXXXXX.XXX.X..XXX.X..X.X.X..X............", "XXXXXXXX.XXXXX..XXXX....XXX....XXX....X..........", ".XXXXXX....XXX...XXXX...XXXX.....XX...XXXX.....XX", ".........X..X...X..X...X..X..XX..X..XX.XXXXXXXXXX", "..XXXXX...XXXX.....XX...XXXX....XXX...XXXX......X", "...XXXX..XXXXX..XXXXX.....XX.XXXXXX......X......X", "XXXXXXXXXX.XXXXXX.XXX.X..XXX.....XX.....X........", "......X......X......X...XXXX...XXXX....XXX.....XX", ".......X..X...X..X.X.X..X.X.X.XX.X.XXXX.X.XXXXXXX", "..XXXXX.XXXXXX.XXXXXX...XXXX..XXXXX.XXXXXX......X", "XXXXXXXX.X.XX.X.X.XX.X...XX.X....................", "XXXXXXXXXXXXXXXXX.X....X.X....X......X...........", "............X.X....X.X.X..X.XXX..X.XXXXXXXXXXXXXX", "XXXX...XXXX...XX.....XXXXX..XXXX...XX.....XXXX...", "........X....XXX....XXXX..XXXXX..XXXXXXXXXXXXXXXX", ".XXXXXX......X....XXX......X....XXX......X.XXXXXX", "XXXXXXXXXXXXX.XXXXXX.XX.XXX.XX..XX..X..XX........", "XXXXXXXXXXXXXXX.XXXXX..XXX.X...XX......X.........", "XXXXXXXX.X.XXX..X..X......X......X...............", "XXXXXXXXX.XXXXXX..XX..X..XX.....XX......X........", "XXXXXX.XXXXX..X......XXXXX..X......XXXXX..XXXXX..", "XXX....XXXX...XXXXX..XXXXXX.XXX....XXXXXX.XXX....", "XXXXXXXXXXXX.XXXXXX.XX...X.X....X.X....X.X.......", "XXXXXX.XX.....XXXXXX.XXXX...XX.....XXXX...XXXX...", "XXX....XXXX...XXX....XXXXX..XXX....XXXX...XXXXXX.", "........XXX.X..XXX.X..XXXXXX.XXXXXX.XXXXXXXXXXXXX", ".XXXXXX.....XX....XXX.XXXXXX....XXX...XXXX......X", "..............XX..X..XXXXX..XXXXX.XXXXXXXXXXXXXXX", "....XXX....XXX..XXXXX......X.....XX......X....XXX", "..XXXXX.XXXXXX....XXX.XXXXXX..XXXXX......X..XXXXX", "................X...X..X...XXXX...XXXXX.XXXXXXXXX", "........X....X.XX.X.X.XX.X.X.XX.X.XXXXXX.XXXXXXXX", "...XXXX...XXXX.....XX....XXX.XXXXXX...XXXX..XXXXX", "..XXXXX.XXXXXX......X..XXXXX.XXXXXX...XXXX....XXX", "XX.....XXXXX..XXXX...XXXX...XXXXX..XXXXXX.XXXXXX.", "..........X....X.XX..XXXXX..XXXXXX.XXXXXXXXXXXXXX", "XXXXXXXX.XXXXXX.XX.XX..XX..X...X..X...X..X.......", ".....XX.XXXXXX.....XX..XXXXX..XXXXX...XXXX.XXXXXX", "...........X......X......X......X......XX.XXXXXXX", "..XXXXX.....XX....XXX...XXXX....XXX.....XX...XXXX", "XXXXX..XX.....XXX....X......XXXXXX.XXXX...XXXXX..", "....................X..XXX.X..XXXXXXXXXXXXXXXXXXX", "...........X..X...X..X.X.X..X.X.X..XXX.XXXXXXXXXX", "......X......X......X......X......X......X......X", "X......XXXX...XXXXXX.XXXX...XXXX...XXX....XXXX...", ".......X......X.X....X.X..X.X.X.XXXX.X.XXXXXXXXXX", "...........X.X...XX.X...XX.X..XXX.X..XXXXXXXXXXXX", "XXXXXXX.X.XXXX.X.XXXX.X.XX.X.X.XX.X......X......."}

    Returns: 19

  24. "XXXXX..XXXX...XX.....XXXXX..X......X......XXX...."

    {".....XX...XXXX.XXXXXX......X..XXXXX...XXXX......X", "..XXXXX.....XX......X..XXXXX....XXX..XXXXX...XXXX", "XXXXXXXXXXXXXXXXX.XX.XXX.X...XX.X...XX...........", "........X...X..XX.XX..XX.XX.XXXXXX.XXXXXX.XXXXXXX", "XXXXXXXX.XX.XXX.....XX.....XX.....XX.....X.......", ".........X.....XX.....XX.....XXXX...XXXXXXXXXXXXX", "......X..XXXXX......X.....XX....XXX..XXXXX.XXXXXX", "XXX....X......XXX....XXXXX..X......X......XXXX...", "........X.....XX.X...XX.X..XXX.X..XXX.X..XXXXXXXX", "XXXX...XXXXX..XXXX...XXXX...XX.....XX.....X......", "..XXXXX......X.XXXXXX...XXXX..XXXXX.....XX......X", "XXX....X......XXXXXX.XXXXXX.XXXX...XX.....XXX....", "X......X......XX.....XXXXX..X......XXX....XX.....", "XXXXXXXX.XXXX.X..XXX....XXX....X.................", "XXXXX..XXXX...XXXXX..XXXX...XXXXX..XXXX...XXXX...", "XXX....XXXXXX.X......X......X......XXX....XX.....", ".......X.X.X..X.XXXX.X.XXXX.XXXXXX.XXXXXX.XXXXXXX", "XXXXXXXX.XXXX.X.XXXX.X....X.X......X.............", "XXXXXX.XXXXX..XX.....XXX....XXXXX..XXXX...XXXXX..", ".....XX...XXXX...XXXX......X.....XX..XXXXX......X", "XXXX...XXXX...XXXXX..XXXXX..X......XXXXXX.XXXXX..", "....XXX..XXXXX..XXXXX..XXXXX....XXX...XXXX......X", "........X.X.X..XXX.X.XXXX.X.XXXX.X.XXXXXXXXXXXXXX", "XXXXXXX.XXXXXX.XX.XX..X..XX..X..XX..X...X........", ".....XX..XXXXX.....XX......X...XXXX...XXXX......X", "..........X......X.X....X.X....XXX.X..XXX.XXXXXXX", "..........X.X..X.X.XXXX.X.XXXX.X.XXXXXX.XXXXXXXXX", "XXXXXXXX.XXXXX..X.XX...X.XX...X.XX...X.XX........", "X......XXXXXX.XXX....XXXXXX.XX.....XXXXXX.XXX....", "XXXX...XXXXX..X......XXXX...XXXXX..X......XXX....", "XXXXX..X......XXXXX..XXXX...XXXXX..XXX....XXXXXX.", "XXX....XXXXXX.XXXXXX.XXX....XXXXX..XXXX...XXXX...", "...XXXX...XXXX....XXX..XXXXX...XXXX...XXXX....XXX", "XXXXX..XXXXXX.XXXXX..XXXXXX.XXX....XXXX...XXX....", "....XXX.....XX.XXXXXX..XXXXX......X......X.....XX", "XXXXXXXXXXXX.XXXXXX.XX.X.X..X.X..................", "..............X.X....X.X....X.X....X.XXX..XXXXXXX", "XXXXXXXXXXX.XXXXXX.XXXXXX...X..X.................", "XXXXXXXXXX.XXX.XX.XXX.XX.XXX.XX.X.X.X............", "......X.....XX.....XX..XXXXX....XXX......X.....XX", "..XXXXX...XXXX.....XX..XXXXX..XXXXX.....XX...XXXX", "XXXXX..XXXXXX.XXXXX..XX.....X......XXXXXX.XXXXX..", ".......X..X...X..X...X..X...XXXX..XXXXX..XXXXXXXX", "XXXXXXX.XXXXXX..XXXXX..XXX.X...XX.X...X..X.......", "......X.....XX...XXXX......X..XXXXX...XXXX.XXXXXX", ".........X......X.X....X.X.XXXX.XXXXXX.XXXXXXXXXX", "XXXXXXXXXXXXXXXXXX.X.XXXX.X.X..X.X.X..X.X........", "XXXXXXXX..XXXXX..XXX....XXX......X......X........", ".....XX.XXXXXX......X....XXX.....XX....XXX....XXX", "XXXX...XX.....XX.....X......XXXX...XX.....XXXXXX."}

    Returns: 2

  25. "XX.....XXXXX..XXX....X......X......XXXXXX.XXXXXX."

    {"XXXXXXXXXXXXXXXXXXXXXXX.XX.XXX..X..X.............", "..XXXXX.XXXXXX..XXXXX...XXXX..XXXXX.XXXXXX.....XX", "XXX....XXXXXX.XXX....XX.....XX.....X......XXXXXX.", "XXXX...XXXXXX.XXX....XXXXX..XXXX...X......XX.....", ".......X......XXX....XXX..XXXXX.XXXXXX.XXXXXXXXXX", "XXXXXXX.XXXXXX..XX.XX..XX.XX.....XX.....XX.......", "XXXXXXXX.XXXXXX.XXX.XX.X...XX.X...X......X.......", "XXXXXXXXXXXXXXXX.XXX.XX.X...X..X......X..........", "XXXXXXXXX.XXXXXX..XXXXX..XX..X...X......X........", "...........X....X.X..X.X.X..X.XXXXXX.XXXXXXXXXXXX", "XXXXXXXX.X.XXXX.X..XX..X..XX..X..XX..X...X.......", ".........XX.....XX..X..XXX.X..XXX.X..XXXXXXXXXXXX", "XXXXXX.XXX....XXXXXX.XX.....X......XXXX...X......", "...........X.X....X.X.XX.X.X.XXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXX.X.XX.X...X..X...X..X..................", ".........X....X.X....X.XX...X.XX...XXXXX.XXXXXXXX", "....................X...X..X..XX..X..XXXXXXXXXXXX", ".............X......X..X...XXXXX..XXXXX..XXXXXXXX", "...........XX.....XX.....XX.X.X.XXXX.XXXXXXXXXXXX", "XXXXXXXXXXXXXXXXX.XX.XX..XX.X...XX.....XX........", "XXXXX..XX.....XXXXXX.XXXXXX.XXXXXX.X......XXXXXX.", "XXXXXXXXXXXXXXXXXXXX.XXXX.X.XXXX....X.X..........", "XXXXXX.XXXXX..X......XX.....XXXXXX.X......XXXX...", "XXXXXXXXX..XXXXX..XXXX...X.X....X.X......X.......", "...........X....X.X..X.X.XX.X.X.XX.X.XXXXXXXXXXXX", "XXX....XXXXX..XXXXX..XXXXX..XXXX...XX.....XXXX...", "XXXXXXXX.XXXXX...X.XX.....XX.....X......X........", "XX.....XXXXXX.XXXXX..X......XXXXXX.XXXX...XXXX...", "....XXX....XXX.....XX.XXXXXX.XXXXXX..XXXXX......X", "..............XXXXX..XXXXX.XXXXXX.XXXXXX.XXXXXXXX", "XXXXX..XXXXXX.XXX....XX.....XXX....XXXX...XXXX...", "........X...X..X.XXX.XXXXXX.XXXXXX.XXXXXX.XXXXXXX", "XXXXXXXX.XXXXXX.XXXXXX.X.XXXX.X.X.XX.............", "...................XX.....XXX..X.XXXXXX.XXXXXXXXX", "XX.....XXXX...X......X......XXX....XXXXX..XXXX...", "X......XXXXXX.XXXX...XX.....XXX....XXXXXX.X......", "XX.....X......XXXXXX.X......X......XXXXXX.XXXXX..", ".XXXXXX...XXXX......X.XXXXXX....XXX......X..XXXXX", ".......XX....XXXXXX.XXXXXX.XXXXXXXXXXXXXXXXXXXXXX", ".......................XX..X.XXX.XX.XXX.XXXXXXXXX", "XXXXXXXXXX.XX.XXX....XXX.....X...................", "........X...X..X.XXX..X.XXX..X.XXX..X.XXXXXXXXXXX", "XXXX...XXXXXX.XX.....XXXXX..XXXX...XX.....XXXXX..", "XXXXXXXXXXX.XXXX.X.XXXX.X.XXXX.X...XX............", "XXXXX..XXXXXX.X......XXXX...XXXXX..XXX....XXX....", "......................X.XX...X.XXX..XXXXX.XXXXXXX", "XXXXXXX.XXXXX..XXXXX..XX.X...XX.X...X............", "......X....XXX.....XX..XXXXX....XXX..XXXXX.....XX", "XX.....XX.....XXXX...XX.....XXXX...XXXXXX.XX.....", "..........X......X....X.X....X.X....XXXX.XXXXXXXX"}

    Returns: 11

  26. "X......XXXXXX.XXX....XXXXXX.XXXXX..XXX....XXXX..."

    {"XXXXXXX.XX.X.X.XX.X.X.XX.X.X......X..............", "..XXXXX.XXXXXX...XXXX.XXXXXX....XXX.XXXXXX.XXXXXX", ".........XX.....XXXX...XXXX...XXXXXX.XXXXXXXXXXXX", ".......X......XX..XXXXX.XXXXXX.XXXXXXXXXXXXXXXXXX", "XXXXXXX.XXX.XX..XX..X..XX.....XX.....XX..........", "XXXXXXXXXXXXXXX..XXXX...X.XX.....X...............", "XXXXXXXXXXXXX.X.XXXX.X.XXXX.X.XXXX...X...........", "XXXX...XXXXX..XXXXXX.XXXX...XXXXXX.XXXX...XXX....", ".....XX..XXXXX.....XX...XXXX...XXXX....XXX.XXXXXX", "XXXXXXXX.XXXXXX.XXXXXX.XXXXXX...X..X.............", "........XX.....XX....XXX...XXXX...XXXXX.XXXXXXXXX", ".................XX.....XX..X.XXX..X.XXXXXXXXXXXX", "..XXXXX..XXXXX...XXXX..XXXXX......X...XXXX.XXXXXX", "..................X.XX...X.XX...X.XX..XX.XXXXXXXX", "..XXXXX....XXX.XXXXXX.XXXXXX...XXXX.XXXXXX....XXX", ".............X......X..XX..X..XX.XXXXXX.XXXXXXXXX", "....XXX..XXXXX...XXXX....XXX.....XX...XXXX...XXXX", ".......X......X.....XXX...XXXX.X.XXXX.X.XXXXXXXXX", "...XXXX......X..XXXXX..XXXXX..XXXXX....XXX..XXXXX", "XXXXXXXX.XXXX.X.X.XX.X.X.XX.X.X.XX.X.X...........", "XXXXXXXX.XXXXXX.X.XXX..X.XXX..X..X...X..X........", "...................X.X....X.XX.XXXXXX.XXXXXXXXXXX", "...XXXX...XXXX.XXXXXX..XXXXX.XXXXXX....XXX.XXXXXX", ".XXXXXX...XXXX......X......X.XXXXXX.XXXXXX....XXX", ".........X.....XX...X.XX..XXXXX.XXXXXXXXXXXXXXXXX", "......X....XXX.....XX.....XX.XXXXXX..XXXXX......X", "XXXXXXXXXXXXXXXXXX.XXX..X..XX..X..X...X..........", "XX.....XXX....XXXXXX.XX.....XX.....XXXXXX.XXXX...", ".XXXXXX....XXX..XXXXX..XXXXX...XXXX...XXXX.....XX", "XXXXXXXX.XXXXXX.XXXXXX.X..X......X...............", "X......XXXXXX.XXXXX..XXX....XX.....XX.....XXXX...", "...................X....X.X.X..X.X.XX.XXXXXXXXXXX", "XXX....XXX....XX.....X......XXXXXX.XXX....XXXXXX.", "................XX.....XX....XXX.X..XXXXX.XXXXXXX", ".......X..X...XXXX..XXXXX..XXXXXX.XXXXXX.XXXXXXXX", "XXXXXXXXXXXXXXXXXX.XX.XXX.X...XX.X...............", "................X......X....X.X...XXXXXX.XXXXXXXX", "XXXXXXX.X.X.XX.X.X.XX.X.X.XX.X.X..X.X............", ".......X......X.XX...X.XX...XXXX.XXXXXX.XXXXXXXXX", "XXXXXXXX.XXXXXX.XXXXXX..XXXX...XX.X...XX.X.......", "XXXXXXXXXXXXXXXXXXXX.X..XXX.X..X.................", ".............X.X....X.XX.XXX.XX.XXX.XX.XXXXXXXXXX", "............XX...X.XX.X.X.XX.X.X.XX.X.XXXXXXXXXXX", "XXX....XXXX...X......X......X......XX.....XXX....", "XXXXXXXXXXXXXXXXXXX.XX.X...X..X...X......X.......", ".......X.X....X.X..X.XXX..X.XXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX.X.XXXX.X.XXXX.X.X..X.X.X.........", "XXXXXXXXXX.X.XXXX.X.X.X..X.X.X....X.X....X.......", "XXX....XXXX...XX.....X......XXXX...X......XXXXXX.", "XX.....XXXXXX.XX.....XXXX...XXXXXX.XX.....XXX...."}

    Returns: 48

  27. "XXX....XXX....XXXXXX.X......XXXXX..XXXXXX.XXXXX.."

    {"XXXXXXXXXXX.XXXXXX.XX.XXX.X..X...X..X............", "XXXXXXXX.XXXXXX.XXXXX..XXXXX...XX.X...X..........", "...........X.XX...X.XX...X.XXX.XX.XXX.XXXXXXXXXXX", "XX.....XXXX...XX.....XX.....XXX....XXX....XXXXXX.", "XXXXX..XXXX...XXXXXX.XX.....XX.....XXXXX..XXXXX..", "...XXXX.....XX...XXXX...XXXX..XXXXX..XXXXX....XXX", "XXXXX..X......XXX....XXXXXX.XXXXX..XXXX...XXXXXX.", "........XX.XX..XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX", "......X.XXXXXX......X..XXXXX......X..XXXXX.....XX", "......X.XXXXXX.....XX......X......X...XXXX......X", "XXXXXX.XXXX...X......XXXX...XXXXXX.XXXX...XXXXX..", "X......XXXXX..X......XXX....X......XXX....XXXX...", ".....XX.....XX...XXXX..XXXXX.XXXXXX.....XX.XXXXXX", "............X..X.XXXX.X.XXXXXXXXXXXXXXXXXXXXXXXXX", "XXXX...XXXX...X......XXX....X......XXX....XXXXX..", "...XXXX.XXXXXX.....XX....XXX.....XX....XXX.....XX", "..........X......X......X..X...X..XXX.X..XXXXXXXX", "XXXXXXXXX.XXX.XX.XX..XX.X....X.X....X.X..........", "..........XX...X.XXX..X.XXXX.XXXXXX.XXXXXXXXXXXXX", ".........X....XXX...XXXX...XXXXX.XXXXXXXXXXXXXXXX", ".......X...X..X..XXX.XX.XXX.XXXXXX.XXXXXX.XXXXXXX", "XXXXX..XXXXXX.XXXX...XXXX...XXXXXX.XXXXX..XXXXXX.", ".XXXXXX....XXX.XXXXXX.XXXXXX....XXX......X......X", "XXXXXXXX.XXX.X..XXX.X..XX..X......X......X.......", "XX.....XXXX...XXXXXX.X......XXXX...XXXXX..XXXXX..", "XXXXXXXXXXXXXXXXXXX.XXXXXX...XX.X...XX...........", "XXXXXXXXXX.XXXX.X.XXXX....XX.....X......X........", "XXXXXXX.XXXXX..X.XXX..X.XXX..X.XXX....XX.........", "X......XX.....X......XXXX...XXXXXX.XXXXXX.XX.....", "..............X......X..X...XX.X...XX.XXX.XXXXXXX", "......X.....XX......X......X.....XX......X.....XX", "XXX....XXXXXX.XXX....XXX....XX.....X......XXXXX..", "XX.....XXXXXX.XX.....XXX....XXX....X......XX.....", "XXXXXXXXXXX.XXXXXX.X...XX.X...X..X...X...........", "XXXXXXXXXXXXXXXXXXXX.XX..XX.X...X......X.........", "X......XXXX...X......XXX....XXXXX..XXXXX..XXXX...", "XXXXXXXXXXXXXX.XXXX.X.XX.....XX......X...........", "XXXXXXXXX.XX.XXX.X...XX.X......X......X..........", ".....XX.XXXXXX......X....XXX....XXX..XXXXX...XXXX", "XXXXXXXXXXXXXXX.XXXXXX.X.X.XX.X.X.XX.X.X.X.......", ".....XX.XXXXXX.XXXXXX....XXX...XXXX.....XX.XXXXXX", "XXXXX..XXX....XXXXX..XXXXXX.XXXXX..XXXXXX.XXXX...", "XXX....X......XXXXXX.XXXXXX.XXXXXX.X......XXXXX..", "XXXXXXXXX.X.XXXX.X.X.X..X.X....X.X......X........", "XXXXXXXXX.XXXXXX.XXX.XX...X......X......X........", "...........XX....XXXX...XXXX.X.XXXX.XXXXXXXXXXXXX", "...........XX.....XXX.X..XXX.X..XXX.XX.XXXXXXXXXX", ".......X....X.XX...X.XXXX.X.XXXXXXXXXXXXXXXXXXXXX", "..............X......X.X..XXXXXX.XXXXXXXXXXXXXXXX", "...............X......XX..X.XXX.XX.XXX.XXXXXXXXXX"}

    Returns: 37

  28. "XXXX...XXX....XXXXXX.XXXXXX.X......XXX....XXXXXX."

    {".......X..X.X.X.XXXX.X.XXXXXX.XXXXXX.XXXXXXXXXXXX", "XXXXXXXX..X.XX...X.XX...X.XX...X......X..........", "....XXX......X.XXXXXX..XXXXX......X.....XX...XXXX", "XXXXXXXXXXXX.XXX.XX.XXX....X.X....X.X............", "..XXXXX....XXX....XXX....XXX.XXXXXX......X....XXX", "X......XXX....XXXX...XXXXXX.XX.....XXXXX..XXXX...", "...XXXX.....XX....XXX......X......X......X....XXX", "XXXXXXXXX.X.XXX..X.XX...X.X......................", "XXXXXXX.XX.XXX..X..XX............................", "...XXXX....XXX..XXXXX....XXX....XXX....XXX..XXXXX", "XXXXXX.XX.....XXXXXX.XXX....XXXXX..XXX....XXXXX..", "................X.....XX.X..XXXXXX.XXXXXXXXXXXXXX", "......X.....XX....XXX.....XX......X...XXXX...XXXX", "XXXXXX.XXXXXX.XX.....XXXXX..XXXXX..XXX....X......", "XXXXXX.XXX....X......XXXXXX.X......XXX....XXX....", "XXXXXXXXXX.XXXX.X.XXXX.X..XXX....X......X........", "XX.....X......X......XXX....XXX....XX.....XXXXXX.", "...........X......X.XX...XXXX.XXXXXX.XXXXXXXXXXXX", "...........XXX.X..XXXXX.XXXXXX.XXXXXXXXXXXXXXXXXX", "XXX....X......XXX....XXXX...X......X......XXXXX..", ".........X.X....X.X.X..X.X.X..X.XXXXXXXXXXXXXXXXX", "XXXXXX.XXXXXX.X......X......XXXX...XXXXX..XXXXX..", "..........X..X...XXXX...XXXXX.XXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXX.XXXX.X.XXXX.X.XX...........", "X......XX.....XXXXXX.XXXXX..XXXXX..X......XXXX...", "XXX....XXXXXX.XXXX...X......XXXX...XX.....XXXX...", "X......X......XXXXXX.XXXXXX.XXXXX..XX.....XX.....", "..XXXXX......X..XXXXX...XXXX......X....XXX..XXXXX", "....................XX.X...XX.XXX.XXXXXX.XXXXXXXX", "..XXXXX...XXXX....XXX..XXXXX.....XX......X..XXXXX", ".XXXXXX..XXXXX......X...XXXX....XXX...XXXX....XXX", "..........X....X.X..X.X.X.XX.XXXXXX.XXXXXXXXXXXXX", "XXXX...XXXX...XXXXX..XXX....XXX....XXXX...XXXXXX.", "XXXXXXXXXXXXXX..XXXXX..XXX....XX.....X...........", "XX.....X......XX.....XXXX...XXXX...XX.....X......", "..XXXXX..XXXXX..XXXXX......X......X......X....XXX", "...................XX...X.XX...XXXXX.XXXXXXXXXXXX", "X......X......XXXXXX.XX.....XXX....XXX....XXXXXX.", "XXXXXXXXXXXX.XXX.XX.X.X.X..X.X.X....X............", "XXXXXXXXXXX.XX.XXX..X.XX...X......X..............", "XXXXXXXXXXX.XXXXXX.XXXX.X.X.XX...X..X............", "XXXXXXXXXX.XXXXXX..XXX.X..XX..X...X..X...X.......", "........X....X.XX...X.XX...XXXXX..XXXXX.XXXXXXXXX", "XXXXXXXXXXXX.XXXXXX.X.XXXX...XXX....X.X..........", "....XXX.....XX....XXX.XXXXXX.XXXXXX....XXX....XXX", "X......XXX....XXXX...XXX....XXX....X......XXXXX..", "...........X......X...X..X..XX..XX.XX..XX.XXXXXXX", ".XXXXXX..XXXXX..XXXXX...XXXX....XXX....XXX.XXXXXX", ".......X......X......X....XXX.X..XXX.XXXXXXXXXXXX", "XXX....X......XX.....X......XXXX...XX.....X......"}

    Returns: -1

  29. "XXXX...X......XXXX...XXXXX..X......XXXXX..XXX...."

    {"XXXXXX.XXXXX..XXXX...XX.....XXXXXX.XX.....XXX....", "XX.....XX.....XXXX...XXXX...XXX....XX.....XX.....", "XXXXXXXXXXXXXXXXXX..X.XXX....XXX.....X...........", "XXXXXXXXX.XXXX.X..XXX.X..X.X.X....X.X....X.......", "XXXX...XXXXX..XXXXX..XXXXXX.XXXXXX.XXXXX..XXXXXX.", ".XXXXXX.....XX...XXXX...XXXX...XXXX....XXX....XXX", "XXXXXXXX..XXXXX...XX.X...XX.X...XX.X...X.........", "......X.....XX..XXXXX....XXX...XXXX...XXXX..XXXXX", ".......X...X..XX..XX.XX..XX.XX..XX.XX..XXXXXXXXXX", "XXXXXX.XX.....XXXX...XXXX...XXXXXX.XXXX...XX.....", "...XXXX......X...XXXX.XXXXXX......X......X.XXXXXX", "XXXX...XXXXX..XXXX...XXXX...XXXXXX.XXXX...X......", "XXX....XXXXX..XXX....XX.....XXXXXX.XXXXX..XXX....", "..............X......X.....XX.X.XXXX.X.XXXXXXXXXX", "XXXXXXXXXXXX..XX.X....X.X....X.X....X.X..........", "...XXXX....XXX.....XX.....XX..XXXXX....XXX...XXXX", "..........XXXX.X.XXXX.X.XXXX.X.XXXXXX.XXXXXXXXXXX", "XXXXXXXX.XXXXX..XXXXX..XXXXX...X..X......X.......", ".....................X..X.X.X.XX.X.XXXXXXXXXXXXXX", ".....XX...XXXX.XXXXXX.XXXXXX...XXXX......X...XXXX", "XXXXXXXXXXXXXX...XXXX...XXX......................", "...XXXX.XXXXXX...XXXX..XXXXX..XXXXX.....XX.XXXXXX", "....XXX..XXXXX....XXX...XXXX......X..XXXXX....XXX", "XXX....XXXX...XXXXX..XXX....XXXX...XXXXX..XXXXXX.", "XXXXXXXXXXXXXXXXX.XXXX.X.XXXX.X.XXXX.X..XX.......", "........X..X...X..X...X..X.XXXX.X.XXXXXXXXXXXXXXX", "XXXXXX.XXXXXX.XXXXXX.XXX....XXXX...XX.....XXX....", "......................X..XXX.X..XXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXX...XXXX...X.XX...X...........", "XXXXX..XX.....XX.....XXXXXX.XXXXXX.XX.....XXXX...", "..........X...X..X..XX..XXXXX..XXXXXX.XXXXXXXXXXX", "...........XX....XXX...XXXX..XXXXX..XXXXXXXXXXXXX", ".........X......X.X.X..X.X.X..XXX.X.XXXX.XXXXXXXX", ".................X...X..X...X.XXX.XXXXXXXXXXXXXXX", "................X..X...X..X...X..X.X.XXXXXXXXXXXX", "XX.....XXXXX..XXXXX..XXXX...XXXXXX.XXXXXX.XXX....", "........X......X....X.X..X.XXX.XX.XXX.XX.XXXXXXXX", ".XXXXXX...XXXX....XXX.....XX.....XX.XXXXXX......X", ".......X.X....X.X..X.X.X..X.XXX..X.XXXXXXXXXXXXXX", "XXXXXXXXXXX.XXXXXX.XX.XXX.XX.XXX....X............", ".....XX..XXXXX......X.XXXXXX....XXX...XXXX.XXXXXX", "XXXXXXXX.X.XX.X.X.X..X.X....X.X....X.X...........", "XXXXXXXXXX.XXXXXX.XXX.XX.XXX.XX.XXX....XX........", "X......XXX....XXX....XX.....XXXX...XXXXXX.XXX....", ".......................X..X..XX.XX..XX.XXXXXXXXXX", ".......X......X..X.XXX.XX.XXX.XX.XXX.XXXXXXXXXXXX", "......X.XXXXXX...XXXX....XXX....XXX...XXXX......X", ".....XX.XXXXXX...XXXX.XXXXXX.XXXXXX.....XX.XXXXXX", "................X.....XX...X.XX.XXX.XXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXX.XXXXX..XX.XX.....XX........"}

    Returns: 25

  30. "XXXX...X......XXXXXX.XXX....XXXX...XXXXX..XXXXX.."

    {"..................X..XX..X.XXX..X.XXX..XXXXXXXXXX", "..........X.....XX.X...XXXX...XXXXXXXXXXXXXXXXXXX", "XXXXX..X......XXXXX..XXX....XXXXXX.X......XXX....", "XXXXXXXXX..XXX.X..XX..X...X..X......X............", "..XXXXX.XXXXXX......X......X.....XX...XXXX...XXXX", "XXXXXXXXXXXXXXXX.XXXX.X.XXXX.X.XX.X.X.X..........", "XXXXXXXXXXXXXXXXXXXXXXX.XXXXXX.XXXXX...X.X.......", "..........X...XX.X...XX.X.X.XX.X.X.XX.XXX.XXXXXXX", "XXX....XXXXXX.XXX....XXXX...XX.....XXXXX..XXX....", "......X..XXXXX...XXXX....XXX.....XX......X...XXXX", "XXXXXXX.XX.XXX.X..X.X.X....X......X..............", ".....XX......X.XXXXXX.....XX.XXXXXX....XXX.....XX", "......X...XXXX...XXXX.....XX.XXXXXX.....XX......X", "XX.....XX.....XXX....XX.....XXXX...XXXX...XXXXXX.", "........X......X......X.X...XX.XX..XX.XXXXXXXXXXX", "XXXXXXXXXXXXXXXXXX.XXXXXX.X..XXX.X..X.X..........", "...........X......X......X......X.X.X..XXXXXXXXXX", "...........X......XX.....XX..X..XX..X.XXXXXXXXXXX", ".......X......X......X.X....XXX....XXXX.X.XXXXXXX", "XXXXXXXXXXXXX.XXX....X...........................", "XXXXXXXXX.XX.XX..XX.XX..XX..X...X..X...X.........", "XXXXXXX.XXXXXX.XXXX.X.XXXX.X..XXX.X...X..........", ".........X.X.X.XX.X.XXXX.XXXXXXXXXXXXXXXXXXXXXXXX", "....XXX.....XX....XXX..XXXXX...XXXX.XXXXXX....XXX", "....XXX.....XX.....XX...XXXX...XXXX...XXXX..XXXXX", "....XXX..XXXXX.....XX.XXXXXX.....XX..XXXXX.....XX", "..XXXXX...XXXX..XXXXX...XXXX.....XX.XXXXXX...XXXX", "XXXXXXXXXXXXXXXXXXXXXX.XX.XXX.XX.X.X.X...........", "XXXXX..XXX....X......X......XX.....XX.....XXXX...", "XXXXXXXXXX.XXXXXX.XXXXXX.XXXX.X......X...........", "XXXXXXXXXXXX.XXXXXX...XXXX....XX.................", "XXXXXXXXXXXX.X..XX..X...X..X...X..X...X..X.......", "..XXXXX...XXXX..XXXXX.....XX....XXX.XXXXXX.XXXXXX", "XXXXX..XXX....XXXX...XXXX...XXX....XX.....XXXXX..", "XXXX...XXX....XX.....XXXX...X......XXXXXX.X......", ".XXXXXX..XXXXX......X.....XX......X.XXXXXX.XXXXXX", "XXXXXXX.XX.XXX.XX...X.XX...X..X......X...........", "XXXXXX.XX.....X......X......XXXXX..XXX....XXX....", "....XXX......X.XXXXXX....XXX......X.....XX....XXX", "XXXX...XXXXX..XXXXXX.XX.....XXXXX..XXXXXX.X......", "XXXXXXXXXXXXXXXX.X.XXXX.X.X.XX.X.X..X............", "XXXXXXXXXX.XXXXXX.XXXX.X.XXX....XX...............", ".....XX....XXX......X.....XX....XXX...XXXX...XXXX", "....XXX.....XX..XXXXX.....XX......X.XXXXXX...XXXX", "XXXX...XXX....XXXXXX.XXX....XXXX...XXXX...XXXXX..", "..XXXXX......X..XXXXX....XXX...XXXX....XXX.XXXXXX", "......X.....XX...XXXX...XXXX...XXXX......X.....XX", "....XXX..XXXXX..XXXXX..XXXXX.XXXXXX..XXXXX.....XX", "XXXXXXXXXXXX.XXX.XX.X.X.XX.....XX.....XX.........", "XXX....XXXX...XXXXX..XX.....XX.....XXX....XXXXXX."}

    Returns: 14

  31. "XXXXXX.XX.....X......XXXXX..XX.....X......XXXX..."

    {"............X......X.XX..XX.XX..XX.XX..XXXXXXXXXX", "XXXXXXX.X.X.XX...X.X....X.X....X......X..........", ".............X.X..XXX.X..XXX.X..XXXXXX.XXXXXXXXXX", "XX.....XXXXXX.XXX....XXXXX..X......X......XXXX...", "XXXXXXXXXX...XXX.....X...........................", "...........X..X...XX.XX..XX.XX..XXXXXXXXXXXXXXXXX", "XXXXX..XXXXX..XXXXX..XXXXX..XXX....XXX....XXXX...", "XXXXXXXX.XXXXXX.XXXXXX.XXX..X....................", ".........X.X....X.X..X.X.X..XXX.X..XXXXX.XXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXX.XXXX.X.XXX..X.X.X.......", "XXXXXXX.XXXXXX..X..XX..X...X.....................", "X......XXXXXX.XX.....XXXXX..XXX....XXXXX..XXXX...", ".........X.X....XXX..X.XXX..X.XXX..X.XXXXXXXXXXXX", "XXXXXXXX.XXXXXX..XXXXX..XX.XX...X................", "......X..XXXXX...XXXX...XXXX..XXXXX...XXXX....XXX", "XXX....XXX....XXXXX..XXXXXX.XX.....XXXX...XXX....", ".....XX..XXXXX......X...XXXX..XXXXX....XXX.XXXXXX", "....XXX.XXXXXX..XXXXX.....XX.XXXXXX..XXXXX......X", "XXXXXXX.XXXXXX.XXXXXX.XXXXXX.XXX.XX..X...........", "XXXXXXXXXXXXX.X.XXX....XX.....XX.................", "......X.XXXXXX......X.XXXXXX..XXXXX.XXXXXX......X", "....XXX.....XX..XXXXX..XXXXX...XXXX...XXXX...XXXX", "XX.....XXXXX..XXX....X......XXXXX..XX.....XX.....", ".....XX....XXX.XXXXXX...XXXX......X...XXXX......X", "XXXXXXX.XXX.XX.XXX....X......X......X............", "..........XX.....XX....XXX..XXXXXX.XXXXXX.XXXXXXX", ".....XX.....XX......X...XXXX....XXX....XXX.XXXXXX", "XXX....XXXX...X......XXXXXX.XXXXX..XXXXXX.XXXXX..", "XXXX...XXX....XXXX...XXXXXX.XXX....XXX....XXX....", "...............X.....XX.....XX.....XXXXXXXXXXXXXX", "XXXXX..XXXX...XXXXX..XXXXXX.XXXX...XX.....XXXX...", "XXXXXX.XX.....XXX....XXXX...XXX....XXXX...XXX....", ".................X.....XX...X.XX..XX.XXX.XXXXXXXX", "XXXXXXXXXXX.XXX.XX..XX.XX..XX..X..XX.....X.......", "XXXXXXXX.XX.XXX.XX..X..XX..X..X..................", "....XXX...XXXX......X..XXXXX....XXX..XXXXX..XXXXX", "...............X......X....XXX..X.XXX..XXXXXXXXXX", "XXXX...XX.....XXX....XXXXX..X......X......XXXXXX.", "....XXX..XXXXX....XXX.XXXXXX.....XX.XXXXXX...XXXX", "XXXXXX.XX.....XX.....XXXXXX.XXXXXX.XXX....XXX....", "XXXX...XX.....XX.....X......XX.....XXXX...XXXXX..", "............X.XX...X.XX.X.XXXX.XXXXXX.XXXXXXXXXXX", "XXXX...XXXXXX.XXXXXX.XXXXX..XXX....X......XXXXXX.", "....XXX....XXX.....XX....XXX.....XX.XXXXXX....XXX", "XXXXX..XXXX...XXXX...XXX....XXXXXX.XXX....XXXXX..", "XXXXX..XXX....XX.....XX.....XXXXXX.X......XXXXXX.", "..XXXXX....XXX.XXXXXX...XXXX......X.XXXXXX......X", "XXXXXXXXXXXXX...X.XX...X..X......X......X........", "XXXXXXXXXXXXX.XXX.XX.X.X.XX.X.X......X...........", "XXXXXXXXXXXX.XXXX.X..XXX.X...XX......X..........."}

    Returns: 17

  32. "XXXX...X......XXX....XXXX...X......XX.....XXX...."

    {".......X......XXX....XXX..X.XXX.XXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXX.XX.XX..X..XX..X..X.........", ".....XX.XXXXXX....XXX....XXX......X...XXXX.....XX", ".....................X......X..X...XX.X.X.XXXXXXX", ".........X...X..XX.XX..XXXXXX.XXXXXX.XXXXXXXXXXXX", "XXXXXX.XXXXX..XX.....XXXX...XXXXXX.X......XXXX...", "XXXXXXXXXXXXXXXXXXXXX.XXXX.X.X..X.X.X..X.........", ".........X......X.XX..XX.XXX.XX.XXX.XX.XXXXXXXXXX", "...XXXX...XXXX.XXXXXX....XXX..XXXXX....XXX.XXXXXX", "...........X.XX...X.XX...X.XX...XXXXXX.XXXXXXXXXX", ".........X......XX...XXXXX..XXXXXX.XXXXXXXXXXXXXX", "XXXXXXXXXX.XXXXXX....XXX....X.X..................", "...XXXX...XXXX....XXX......X..XXXXX.....XX.....XX", "....XXX......X...XXXX.....XX.....XX.XXXXXX...XXXX", "X......XX.....XXX....XXXX...XXXXX..XXX....XXXXXX.", "XXXXXX.XXXX...XXX....XXX....XXXXXX.XXXX...X......", "XXXX...X......XXXX...XXX....XXXXX..XXXXX..XXXXXX.", ".XXXXXX.XXXXXX....XXX.XXXXXX....XXX.....XX.XXXXXX", "...XXXX.XXXXXX..XXXXX.....XX...XXXX....XXX.....XX", "X......XXX....XX.....X......XXX....XXXXXX.X......", "XXXXX..XXXXXX.XXX....X......X......X......XX.....", "XX.....XXX....X......X......XXXX...XXXXX..XXXX...", ".............X...X.XX...X.XX.XXX.XXXXXXXXXXXXXXXX", ".............X......XX.X...XXXXX..XXXXXX.XXXXXXXX", ".........X...XXXX...XXXXX..XXXXXX.XXXXXX.XXXXXXXX", "..........X..XX..XX.XX..XX.XX.XXXXXX.XXXXXXXXXXXX", "....................XXX....XXXX.XXXXXXXXXXXXXXXXX", "XXXX...X......XXXXX..XXX....XXXXXX.XXX....XXX....", "XXXXXX.XX.....XXXX...XXXXX..XXX....XXXX...XXXX...", "XX.....XXXXXX.X......XXXXX..XXXX...XX.....XXXX...", "XXXXXX.XXXX...XXXXX..XXXXX..XXXXXX.XXXXXX.XXXXX..", ".XXXXXX....XXX..XXXXX....XXX...XXXX.....XX.....XX", "XXXX...XXXX...XXX....XXXXX..XXXXX..X......XXXXXX.", "...................X..X...XX.X...XX.X...XXXXXXXXX", "XXXXXXXXX.XX.XXX.XX.XXX.XX.XX..X..X......X.......", ".................X.X..XXX.X..XXX.XX.XXXXXXXXXXXXX", "XXXXXXX.XXXXXX.X.XXX..X.XX...X.XX...X............", "......X......X.XXXXXX.....XX......X.XXXXXX..XXXXX", "XXXXX..X......XXX....XXXXXX.XX.....XXXXXX.X......", "X......X......XXX....X......XX.....XXXX...XX.....", ".....XX.XXXXXX.XXXXXX......X.XXXXXX..XXXXX....XXX", ".....XX...XXXX..XXXXX....XXX....XXX......X..XXXXX", "................X.....XX...X.XX.X.XXXXXX.XXXXXXXX", "...................X...X.XX...X.XX..XXXXX.XXXXXXX", ".......X......X......X......X...X.XXX.XXXXXXXXXXX", "XXXXXXXXXXX.XXX.XX.XXX.XX.XXX.X..X.X.X...........", "XXXXXXXXXXXXXXXXXXXXXXXX.XX.XX......X............", "............X.....XX.....XX.X...XX.X...XX.XXXXXXX", "XXXXXXX.XX...X.X......X......X......X............", "XXXXXXXXX.XXX....X.X....X.X......................"}

    Returns: -1

  33. "XX.....XX.....XXXXXX.XXXXXX.XX.....XXXXXX.XXXXXX."

    {"XXXXX..XXXX...XXXX...XXXXXX.XXXXX..X......XXX....", "......X......X.....XX..XXXXX....XXX.....XX.XXXXXX", "....XXX..XXXXX....XXX......X.....XX......X.....XX", "XXXXXXXXXXXXXXX.XXX.X..XXX.X..X.X.X..X.X.........", "XXX....XXXXX..XXXX...XXXX...XX.....XXXXX..XXXXXX.", ".........X......X.X...XXXX.XXXXXX.XXXXXX.XXXXXXXX", ".....XX.XXXXXX......X......X.XXXXXX....XXX....XXX", "XXXXXX.XX.....XXXXX..XXX....X......XXXX...X......", "........X..X...XXXXX..XXXXX..XXXXX.XXXXXXXXXXXXXX", ".....XX.XXXXXX.XXXXXX......X..XXXXX..XXXXX...XXXX", "........X.XX...XXXX...XXXXX..XXXXX..XXXXX.XXXXXXX", "XXX....X......XXX....XXXXX..X......XXXXX..XXX....", "............X..X...XX.X...XX.XX.XXX.XXXXXXXXXXXXX", "XXXXXX.XXXXX..XXXXX..XXX....XXXXXX.XXXX...XXX....", "...XXXX..XXXXX...XXXX.XXXXXX..XXXXX....XXX.....XX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX.X..X.......", "....XXX.....XX.XXXXXX.XXXXXX.XXXXXX...XXXX...XXXX", ".....XX.....XX..XXXXX.XXXXXX....XXX...XXXX......X", "................XX.....XX...X.XX.X.XXXX.X.XXXXXXX", "XXXXXX.XXX....XXXX...XXX....X......XXXX...XXXX...", "XXXXXX.X......XX.....XXXXXX.XXX....XX.....XXXXX..", "XXXXXXXXXXXXXXXXXXX.XXXXXX..X.X....X.............", ".....XX..XXXXX....XXX.XXXXXX..XXXXX....XXX..XXXXX", "X......XXX....X......XXXXXX.XXXX...XXXX...X......", "XXXXXXXXXXXX..XXX.X..XXX.....XX.....XX...........", "...XXXX..XXXXX......X..XXXXX......X.XXXXXX..XXXXX", "..........X......X....X.X..X.X.XX.XXXXXXXXXXXXXXX", "XXXX...XXX....XXXXXX.XXXX...XXXX...XX.....XX.....", "X......XXXX...XXXX...XXXXXX.XXXX...XXXXXX.XXXX...", "XXXXXXXXXXXXX.XXXXXX.XXXXXX.XXX....XX............", "XXXX...XXXX...X......XXXXXX.XXX....X......XXXXXX.", "....XXX......X....XXX......X....XXX.....XX....XXX", "XXXXXXXXXXXXXX.XX.XXX.XX.XX..XX.X...XX.X.........", "...........X......X.....XX..X..XXX.X..XXX.XXXXXXX", "XXXXX..XXXX...XXXXXX.XXX....X......XX.....XXXXXX.", "XXXXXXXXXXXXX.XX.XXX.XX..XX.XX..X..XX............", "..........XXX.XX.XXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXX.XXXXXX..X.XXX.....XX.....X............", "XXXX...XXXX...XXXXX..X......XX.....X......XXXX...", "XXXXXXXXXXXXXXX.XXXXXX..XXXXX...XX.X....X........", ".....................XX.X...XX.XX.XXX.XXXXXXXXXXX", "......X..XXXXX....XXX.....XX....XXX..XXXXX...XXXX", "XXXX...X......XXXXX..XXXXX..XXXXX..X......X......", "XXXX...XXXXXX.XXXXXX.XXXX...XX.....XXX....XX.....", "XXXXXX.XXXXX..XX.....XX.....XXXX...XXXX...XX.....", ".XXXXXX..XXXXX...XXXX......X...XXXX...XXXX.....XX", "......X......X..XXXXX..XXXXX.....XX...XXXX.....XX", "..XXXXX.XXXXXX......X......X..XXXXX......X......X", "X......XXXX...XX.....XXXX...XX.....XXX....XX.....", ".......X.....XXX....XXX....XXX.XX.XXXXXXXXXXXXXXX"}

    Returns: -1

  34. "XXXX...XXXXX..XXXXXX.XXXX...XXXX...XXXX...XXXX..."

    {".....XX......X..XXXXX...XXXX.XXXXXX.....XX...XXXX", "XXXXXXXXX.XXXXXX.X.XXXX.X.XXX..X...X..X..........", "XXXXXXXXXXXXXXX.XXXXXX.XXXXXX..XX......X.........", "...........X..X...X..XX..XX.XXX.XXXXXXXXXXXXXXXXX", ".............X.X.X..X.XXX..XXXXX.XXXXXXXXXXXXXXXX", "..XXXXX.XXXXXX..XXXXX..XXXXX.....XX....XXX....XXX", "...........................X......XXX.XXXXXXXXXXX", "XXXXX..XXXXX..XXX....XXXXX..XXX....XXXXXX.XX.....", "..................X.X..X.X.X.XX.XXX.XX.XXXXXXXXXX", "XXXXXXX..XXX.X..X.X.X..X.X.X..X.X.X......X.......", "XXXXXXXX.XXXXX..XXXXX..XXXX...XXX....X.X.........", "X......X......XX.....X......XX.....XXXXX..XXXXX..", ".......................XX..X.XXX..XXXXXXXXXXXXXXX", ".XXXXXX......X.XXXXXX....XXX...XXXX.XXXXXX..XXXXX", "...........X......X...XX.X.X.XXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXX.X.X.XX.....XX.....X......X........", "..XXXXX..XXXXX.XXXXXX..XXXXX....XXX....XXX..XXXXX", "......X....XXX.XXXXXX.....XX..XXXXX......X......X", ".XXXXXX.....XX..XXXXX......X.....XX..XXXXX.....XX", "XXXXXXXXXXXXXXXX.XXXX...XX.....X......X..........", "........X......X...XX.X.X.XXXX.X.XXXXXXXXXXXXXXXX", "...XXXX.XXXXXX..XXXXX.XXXXXX......X....XXX....XXX", "..............X.....XX.X...XX.X..XXXXX..XXXXXXXXX", "XX.....XXX....XXX....XXXXX..XX.....XX.....XXXXXX.", "XXXXXX.X......X......XX.....X......XX.....XXXXX..", "..XXXXX.....XX.....XX....XXX...XXXX......X.....XX", "XXX....XX.....XXX....XXX....X......XX.....XXX....", "XX.....XX.....XXX....X......X......XXXXXX.XXXX...", "..XXXXX....XXX.XXXXXX....XXX....XXX.....XX.....XX", "XXXXX..X......XXXX...XXX....XXXXX..X......XXXXX..", "...XXXX......X....XXX.XXXXXX...XXXX.....XX....XXX", ".........X......X......XX.....XX....XXX..XXXXXXXX", "XXXXXXX.XXXXXX.XXXXX..X.XXX..X..X......X.........", "XXXXXX.XXX....XXXXXX.XX.....X......XXXXX..XXXXXX.", "XXXXXXXXXX.XXXXXX.XXXXXX.XX..XX.XX..X...X........", "XXXXXX.XX.....XX.....XX.....XXXXXX.XX.....XX.....", "XXX....XXXX...XXX....XXXXX..XX.....XXXXXX.XXX....", ".XXXXXX.....XX.....XX......X..XXXXX..XXXXX..XXXXX", "XXXXXXXX.X.XX...X.X....X.X....X.X....X...........", "XXXXX..XXXXX..XX.....X......XXXXX..X......XXXXX..", "XXXXXXXXXX.XXXXX..XXXXX..XXXXX..X..X.............", ".........XX.X.X.XX.XXX.XX.XXX.XXXXXX.XXXXXXXXXXXX", "XXXXXXXXX.XXXXX...XX.X...XX.....X................", "XXX....XX.....XX.....XXXXXX.XXXXXX.XXXX...XXXXXX.", "....XXX.....XX.XXXXXX.XXXXXX....XXX..XXXXX.XXXXXX", ".XXXXXX......X..XXXXX......X.....XX...XXXX..XXXXX", "....XXX.XXXXXX.XXXXXX....XXX....XXX......X......X", ".XXXXXX....XXX.XXXXXX......X.XXXXXX.XXXXXX...XXXX", ".............X......X......X...XX.X..XXXXXXXXXXXX", "..XXXXX......X......X.....XX....XXX.....XX....XXX"}

    Returns: -1

  35. "XXXXX..XX.....XX.....X......XXX....X......XXXXX.."

    {"X......XXXXX..XX.....XXXXX..XX.....XXX....XXXXX..", "XXXXXXXXXX..XXXXX..X.XX.....X....................", "XX.....XX.....XXX....XXXXX..XXXXX..XXXXXX.XXXX...", ".......X......X.X....X.XX.X.X.XXXX.X.XXXX.XXXXXXX", "XXXX...XXXXXX.XXXXX..XXX....XXXXXX.X......X......", "......X....XXX....XXX...XXXX...XXXX.XXXXXX......X", "XXXXXXXXXX.XX.XXX..X.XXX..X.XXX..X.XXX...........", ".........X......X.X.X..X.X.XX.X.X.XXXXXXXXXXXXXXX", "XXX....XXXX...XXXXXX.XXX....XX.....XXXXX..X......", ".............X....X.XX...XXXXXX.XXXXXXXXXXXXXXXXX", "..XXXXX.XXXXXX...XXXX....XXX......X....XXX....XXX", "..XXXXX.XXXXXX...XXXX....XXX...XXXX...XXXX......X", "........X..X...X..XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXX.XXXXXX.XXX.XX...X..X........", "XXXX...XXXX...XXXXXX.XXXX...X......XXXXX..XXXXX..", "XXXXXXXX.XXXXXX.XXXXX..XX.X......X......X........", "XXXXXXXXXXXXXXX.XXXXXX.X.XXX.....X...............", "......X..XXXXX.XXXXXX....XXX..XXXXX...XXXX...XXXX", "..XXXXX.XXXXXX......X...XXXX....XXX.XXXXXX....XXX", "XXXXXXXXXXXXXXXX.XXX....XX......X................", "..XXXXX.XXXXXX...XXXX.XXXXXX.....XX.XXXXXX.XXXXXX", "XXXXXXXXXXXXXXXXXXXX.X.X.XX.X.X.X....X.X.........", ".XXXXXX..XXXXX..XXXXX......X..XXXXX.....XX..XXXXX", "...................X....X.X....X.XX.X.X.XXXXXXXXX", "..........X....X.XXX..X.XXXX.XXXXXX.XXXXXXXXXXXXX", "..............X....X.X.XXXX.XXXXXX.XXXXXX.XXXXXXX", "......X.XXXXXX.....XX.....XX..XXXXX......X...XXXX", "..XXXXX...XXXX.....XX..XXXXX......X.....XX......X", "...XXXX.XXXXXX......X.....XX..XXXXX...XXXX.....XX", "..............X.....XX...X.XX...X.XX..XXXXXXXXXXX", "XX.....XXXXXX.XXXX...XXXXXX.XXXXX..XXXX...XX.....", "XXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXX.XXX.XX..X.......", "....XXX....XXX.....XX..XXXXX.XXXXXX......X.....XX", "XXXXXXXXXXXXXXX.XX.XXX.XX..X..XX..X..X...X.......", ".......X......X......X.XXX..X.XXXX.X.XXXXXXXXXXXX", "XXXX...XXXX...XX.....XXXXX..XXX....XXXXX..X......", "......X......X..XXXXX..XXXXX......X..XXXXX...XXXX", ".....XX.XXXXXX.XXXXXX......X...XXXX...XXXX.XXXXXX", "XXXXXX.X......XXXXXX.XXXXX..XXXX...XXXX...X......", ".XXXXXX...XXXX....XXX...XXXX.XXXXXX.....XX....XXX", "XXXXX..XXXX...X......XXXX...XXXXXX.XXXXXX.XX.....", ".........X....X.X....X.X....XXXX..XXXXX..XXXXXXXX", ".............X..X..XXX.XX.XXX.XX.XXXXXXXXXXXXXXXX", "........X.X....X.X.XX.X.X.XXXX.XXXXXX.XXXXXXXXXXX", "...XXXX....XXX..XXXXX....XXX.XXXXXX.XXXXXX....XXX", "....XXX......X..XXXXX...XXXX..XXXXX...XXXX..XXXXX", "XXX....X......XXXXX..XX.....X......XXXX...XXXXX..", "XX.....XXX....X......XXXXX..XXX....XXXX...XXXX...", "XXXXXXXXXXX.X.XXXX.X.XXXX.X.XXXX....XX...........", "...XXXX.....XX.XXXXXX...XXXX....XXX......X......X"}

    Returns: -1

  36. "XX.....XX.....XXXXXX.XXXXX..XXX....XXXXXX.XXX...."

    {"XXXX...XXX....XXXXXX.XXXXXX.XXXX...XXXX...XXXXXX.", ".XXXXXX......X..XXXXX....XXX..XXXXX.XXXXXX..XXXXX", ".....XX......X....XXX...XXXX.XXXXXX.XXXXXX.....XX", ".......X......X....X.XX...XXXX...XXXXX..XXXXXXXXX", "............X..XX..X.XXXX.X.XXXX.X.XXXX.X.XXXXXXX", "XXXXXXXXX.XXXXXX.X.XXXX.X.X..X.X.X..X.X..........", "XXXXXXXX.XXXXX..X.XXX..X.XXX..X..XX..X..X........", ".XXXXXX.....XX...XXXX.XXXXXX......X......X.XXXXXX", ".................X....X.X....X.XX...X.XXXXXXXXXXX", "..............X......XXX.X..XXXXXX.XXXXXX.XXXXXXX", "XX.....XXX....XXXXX..XXXXX..X......XX.....XXXXX..", ".....XX..XXXXX..XXXXX......X.....XX.XXXXXX....XXX", ".....XX.XXXXXX.XXXXXX...XXXX..XXXXX.XXXXXX.XXXXXX", "...XXXX..XXXXX......X.XXXXXX.....XX....XXX....XXX", ".......XX.....XXX....XXX....XXX.X.XXXX.XXXXXXXXXX", "XXXXXXXXXXX..X..X...X..X......X..................", "XXXX...XXXX...XX.....X......XXXXX..XXX....XXXXXX.", "XXXXXXXXXXXXXXXX..XX.XX...X.XX...X.XX............", "XXX....XXXXX..XXXXX..X......XXXXXX.XXXXX..XXX....", "XXXXXXXXX.XXXXXX.XX.XXX..X.X....X.X......X.......", "..........XX..X..XXXXX..XXXXX..XXXXXXXXXXXXXXXXXX", "XXX....XXXX...X......XXXX...X......X......XXXXX..", "...........XX.....XXX...XXXXX..XXXXX..XXXXXXXXXXX", "XXXXX..XXXXXX.XXXXX..XXXXX..XXXXX..XXXX...XXXXXX.", "...................XXX.X..XXX.X..XXX.XX.XXXXXXXXX", "XXXXX..XXXX...XXXXXX.XX.....XXX....XX.....XX.....", "......X.....XX.....XX..XXXXX......X..XXXXX.XXXXXX", "XXXXXXXXXX.XXXXXX....X.X....X.X......X...........", "XXXXXXXXXXXXXX.XXXXXX.XX.XX..X..XX.....XX........", "XXXXXXX.XXX.XX.X.X.XX...X.XX...X.XX......X.......", "......X......X....XXX..XXXXX......X....XXX....XXX", "XXXXXXXXXXXXXXXXXXXXXXX.XXXXXX.XXXX...XX.........", "X......XXXXXX.XXX....XXXXXX.XXX....XXX....XXXXX..", "....XXX.XXXXXX..XXXXX......X......X..XXXXX..XXXXX", "XXXXXX.XX.....XXXX...XXXXXX.XXXXX..XX.....XXXXX..", ".......X..X...X..X.X.XX.X.X.XXXX.XXXXXX.XXXXXXXXX", ".XXXXXX.....XX.XXXXXX......X.....XX.....XX...XXXX", "XXXXXX.X......XXX....XXXXX..XXXXX..XX.....XXXX...", ".........................X.X..XXX.X..XXXXXXXXXXXX", ".XXXXXX.XXXXXX.XXXXXX......X..XXXXX....XXX..XXXXX", ".....XX......X..XXXXX....XXX.....XX.....XX....XXX", "......X..XXXXX...XXXX....XXX..XXXXX...XXXX....XXX", ".........XX.....XX.....XX....XXX..X.XXXX.XXXXXXXX", "X......XXX....X......XXXXX..XXX....XXXX...XXXXX..", "XXXXXXXXX.XXXX.X.X.XX.X.X.XX.X...XX......X.......", ".XXXXXX..XXXXX....XXX......X...XXXX...XXXX.XXXXXX", "........X......X...X..X...XX.XX..XXXXX..XXXXXXXXX", "......X.....XX......X...XXXX....XXX....XXX...XXXX", "XXXXXX.XXX....X......X......XX.....XXX....XXXXXX.", "XXXXX..XXX....XX.....XXX....X......XXXXXX.XXXXX.."}

    Returns: 24

  37. "XXXX...X......XXXXX..XXXXXX.X......XXX....XXXXX.."

    {"XXXXX..XXXXXX.XXXXXX.XXXXX..X......XXXX...XX.....", "XX.....XXXXX..X......XX.....XX.....XXXXXX.XXXXX..", "...............X.....XX.....XX....XXXX.X.XXXXXXXX", "........X..X...X..X...X..X...X..X...X.XXX.XXXXXXX", "XXXXXX.XXXX...XXX....XXXXX..XXXXXX.X......X......", "...XXXX.....XX....XXX......X....XXX.XXXXXX.....XX", "XXX....XXXXX..XXXXXX.XXX....X......XXXX...XXX....", "..............X.....XX.XXX.XX.XXX.XX.XXX.XXXXXXXX", ".....XX....XXX.XXXXXX.XXXXXX..XXXXX.XXXXXX....XXX", ".................X..X.XXX.XX.XXX.XXXXXXXXXXXXXXXX", "XXXXXXXXXXXXX...XXXX...XXXX....X.X......X........", "XXXXXXX.XXXXX..XX.X...XX.X...XX.X................", "..XXXXX....XXX..XXXXX......X..XXXXX..XXXXX.XXXXXX", "X......XXXXX..XXXXXX.XXXX...XXXX...X......X......", "...XXXX....XXX......X....XXX.....XX..XXXXX......X", "XXXXXX.XXX....XXXXX..XXX....XXXXXX.XXXXXX.XXXXXX.", ".....XX.XXXXXX...XXXX.XXXXXX...XXXX....XXX...XXXX", "XXXX...XX.....XX.....XX.....X......XXX....XXXXXX.", "..XXXXX......X..XXXXX.XXXXXX.XXXXXX...XXXX..XXXXX", "XXXXXXXXXXX.XXXXXX.XXX.XX.XX.....XX......X.......", "XXXXXXXXXXXXXX.XXXXXX.X.XXX..X..XX......X........", "........X..X...X..X...X..XX.XX..XX.XXX.XXXXXXXXXX", "......X...XXXX......X..XXXXX...XXXX..XXXXX..XXXXX", ".....XX....XXX....XXX..XXXXX..XXXXX....XXX......X", "X......XXXXX..XXX....X......XXXX...XXXXXX.XXXXXX.", "X......XXXXXX.XX.....XXXX...X......XXX....XXX....", "..............X...X..X...XXXXXXXXXXXXXXXXXXXXXXXX", "...............X.X....X.X..XXXXX..XXXXXX.XXXXXXXX", "XXXXXXXX.XXXXXX.XXXX.X.XXXX.X...X......X.........", ".............X......X.XX...XXXX...XXXX..XXXXXXXXX", "......X......X.XXXXXX....XXX.XXXXXX....XXX....XXX", ".......X......XX...XXXX...XXXX...XXXXXXXXXXXXXXXX", "XXX....XXX....XXXXX..XXXX...XXX....XXXXX..X......", "........X.X....X.X.X..XXXXX..XXXXXXXXXXXXXXXXXXXX", "...XXXX......X.....XX......X...XXXX......X...XXXX", "XXXXXXXX.XXXX...XXXX....XXX......................", "..XXXXX....XXX.....XX....XXX..XXXXX..XXXXX......X", "..XXXXX....XXX.....XX......X.....XX...XXXX......X", ".....XX......X....XXX....XXX.....XX...XXXX...XXXX", "......X.....XX...XXXX..XXXXX.XXXXXX.....XX.XXXXXX", "XXXXXX.XXX....X......XXXXXX.XXX....XXXXX..XXXXXX.", "XXXXX..XXX....XX.....XXXX...XX.....XXX....XXXXXX.", "XXXX...XXX....XXXX...XXX....XXXX...XX.....XXX....", "XXXXXXXX.XXX.XX.XXX..X.XXX.....XX.....XX.........", "XXXXX..XXXX...XXX....XXXXXX.XX.....XXX....X......", "....................X..X.XXX..XXXXX..XXXXXXXXXXXX", "..XXXXX.....XX......X...XXXX..XXXXX..XXXXX......X", ".........XX.....XX.X.XXXX.X.XXXX.X.XXXX.X.XXXXXXX", "X......XXXXX..XXX....XXXXXX.XXXX...XXXXXX.XXXXX..", "..XXXXX.XXXXXX.XXXXXX....XXX.....XX......X...XXXX"}

    Returns: 21

  38. "XXXXXX.XXXX...XXX....XXXX...XXXXXX.XXXXXX.XXXX..."

    {"XXXXX..XXXXXX.XX.....XX.....XXX....XXXXX..XXXX...", "XX.....XXXXX..XXX....XXX....XXXX...XXXXXX.XXXX...", "XXXXXXX.XX.X.X.XX.X....X......X..................", "....XXX..XXXXX.....XX......X..XXXXX...XXXX....XXX", "XX.....XXX....XXXX...XXX....X......X......XXX....", ".......X..X...X..X.XXXX.X.XXXXXX.XXXXXX.XXXXXXXXX", "XXXXX..XX.....XXXX...XXX....XX.....XXXXX..XXXXX..", "XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXXX...XXXX.........", "......X....XXX.....XX....XXX......X..XXXXX.XXXXXX", "XXXX...XXXXX..XXXX...XXXXX..XXXXXX.XXXXX..XXXX...", "....XXX......X.XXXXXX.XXXXXX......X......X...XXXX", ".......X......X.....XX.X...XX.X.XXXXXXXXXXXXXXXXX", "XX.....XXXXX..X......XXXX...XXXXXX.X......XXXXXX.", "XXXXX..XXXX...XXXX...XXXXXX.X......X......XXXX...", "XXX....X......X......XX.....XXXXXX.XXXX...XXXXXX.", "............X......X..XX.XXX.XX.XXX.XX.XXXXXXXXXX", ".......................X....X.X..X.X.XXXXXXXXXXXX", "X......XXX....XXX....XXXXX..XXXXXX.XXXX...XXXX...", "XXXXXXXXXXX.XXX.XX.X.X.XX.X...XX.....XX..........", ".......X......X.X....X.X.X..X.X.X.XXXXXX.XXXXXXXX", "........X...X..X.X.X..X.XXXX.X.XXXX.X.XXXXXXXXXXX", "XXXXXXX..XX.XX..XX.XX..XX..X...X......X..........", "XXX....XXXX...XX.....XXXXXX.XXXXX..XX.....XXXX...", "XXXX...XXX....XX.....XXXX...XXXXX..XXXXXX.XX.....", "XXXX...XXX....X......X......XXX....XXXX...XXXXXX.", "XXX....XXXX...XXXXXX.XX.....XXXX...XXXXX..XXXXXX.", "XXXXXXXXXXXXXX.XXXXXX.XXXXXX..X.XX...X...........", "......X....XXX.....XX..XXXXX......X......X..XXXXX", "XXXXXXX.XXXX.X.X.XX.X.X......X......X............", ".........X.X...XX.X...XX.X...XXXX.XXXXXX.XXXXXXXX", "X......X......X......XXXXX..XXXX...X......X......", ".........X...X..X...X.XX.X.X.XX.X.XXXXXX.XXXXXXXX", ".........X.....XX....XXX...XXXXX..XXXXX.XXXXXXXXX", ".......X......X......X..X...X..X.X.XXXX.X.XXXXXXX", "...............XX.X..XXX.X..XXX.X..XXX.X..XXXXXXX", "....XXX..XXXXX.XXXXXX.XXXXXX......X.....XX....XXX", "....XXX.XXXXXX......X...XXXX.XXXXXX..XXXXX....XXX", ".......X......X.X....X.X....X.XX.XXXXXX.XXXXXXXXX", "XXXXXXXXXX.XXXXXX..XX.X...XX.X...XX.X....X.......", "XXXXXXX.XX.XXX.X..XXX.X..X.X.X....X..............", "XXXX...XX.....X......XX.....X......XXX....XXXXXX.", "..............X.....XX.X...XX.X...XX.X..XXXXXXXXX", "............X...X..X...X..X...X..X..XXX.X.XXXXXXX", "XXXXXXXXXXXXXXXXXXXX..XXXXX...X.XX.....X.........", "XXXXXXX..XX.XX..XX.X...XX.X...XX.................", "........X.XX...XXXXX..XXXXX.XXXXXX.XXXXXXXXXXXXXX", "XXXXX..XXXXXX.XXX....XX.....XXXX...XXXXX..X......", "XXXXXXXXXXXXXXXXX..XX.X....X.X....X......X.......", "XXXX...XX.....XXX....XXXXXX.XXXXX..XX.....XXXX...", "XXX....XX.....XXXXX..XXXXX..X......XXXXXX.XXX...."}

    Returns: -1

  39. "XXXX...X......XXXX...XXX....XXXX...XXXXX..XX....."

    {"XXX....XXXXX..XX.....XX.....XX.....XXXXXX.XXXXXX.", "............X.X....X.X..X.X.X.XXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXX..XXXXX..XXXX...X..X...X...........", "XXXXXX.XXXX...XXX....XXXX...XXXXX..XXX....X......", "..............X....X.X...XX.XXXXXX.XXXXXX.XXXXXXX", "XX.....X......XX.....XXXXX..XXXX...XX.....XXXXX..", "XXXXXXXXXX.XXXX....X.X....X.X....................", ".XXXXXX...XXXX.XXXXXX.....XX.....XX......X....XXX", ".............X.X....X.X...XXXX..XXXXXXXXXXXXXXXXX", "XXXXXXX.XXX.XX.X.X.X..X.X.X....X.X....X..........", "X......XXXX...X......XXX....X......X......XXX....", "....................X......X....XXXXXXXXXXXXXXXXX", "....XXX.....XX.....XX...XXXX......X.....XX......X", "..............X..X.X.XXXX.XXXXXX.XXXXXX.XXXXXXXXX", ".XXXXXX.....XX..XXXXX......X.XXXXXX..XXXXX...XXXX", "XXXXXXXXXXXXXXXX.XXX.XX..X..XX..X...X..X.........", "XXXXXXXXXXXXXXX.XXX....XX........................", "XXXXXXXXXXXXXXX..XXXX....X.X....X.X....X.X.......", "XXXXXX.XX.....XXXXXX.XXXXX..XX.....XXXXX..XXXXX..", "XXXXXXX.XXX.XX.XXX.XX..XX.XX..XX.XX...X.XX.......", "...........X......X..X.X.X.XXXX.X.XXXXXXXXXXXXXXX", "XXXXXXXXX..X.XXX..X.XXX..X.XX...X................", "XXXXXXXXXXXX.XX.XXX.XX.XXX.XX.XXX.X..X.X.........", "XXXXXXXXX.XXX.XX.X.X.X..X.X.X..X.X....X.X........", ".........X......X.X....X.X..X.X.XX.X.X.XX.XXXXXXX", "...........X....X.X...XX.X.X.XXXX.XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXX.XXXX...XX.X...X..X...X............", "...........XX.....XX...X.XX...XXXX.X.XXXX.XXXXXXX", "...........XX.X.XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXX.XXX.XX.X...X..X...X..X...X..X...X........", ".XXXXXX.XXXXXX....XXX.XXXXXX.....XX...XXXX..XXXXX", "..XXXXX.....XX.XXXXXX..XXXXX...XXXX..XXXXX.XXXXXX", "X......XXXXX..XXXXXX.XX.....X......XXX....XXXXX..", "X......X......XXX....XXX....XXXXX..XXXX...XXX....", "..XXXXX.....XX.XXXXXX.XXXXXX....XXX....XXX......X", "................X......XXXX..XXXXX..XXXXXXXXXXXXX", "XXXXXXXXXXX.XX.XXX..X.X.X....X...................", "......X.XXXXXX......X....XXX..XXXXX....XXX......X", "........X......X.X.X..X.XXX..X.XXX.XXXXXX.XXXXXXX", ".XXXXXX.XXXXXX...XXXX.XXXXXX.XXXXXX......X......X", "........X...X..X...X..X...XX.X.XXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXX.XXX..X.XXX..X.X.X..X..........", "X......XXXXXX.XXX....XXXX...XX.....X......X......", "XX.....X......XXXXX..XX.....X......XX.....XXX....", "..XXXXX....XXX..XXXXX.....XX.XXXXXX.XXXXXX......X", ".XXXXXX...XXXX..XXXXX......X..XXXXX....XXX...XXXX", ".....XX.....XX....XXX.XXXXXX.....XX....XXX....XXX", "XXXXX..X......X......XXXXX..XXXXX..XX.....XXXXX..", "........X....X.X....X.X....X.X....XXXX.X.XXXXXXXX", "XXXXXXXXXXXXXXXXXXX.XXXX.X....X.X......X........."}

    Returns: 1

  40. "XXXXXX.XXXXXX.XXX....XXX....XX.....XXXX...X......"

    {"...................X....X.X....XXX.X..XXX.XXXXXXX", "XXXXXXX..XXXXX..XX.....XX.....XX......X..........", "XXXXXXX.XXXXXX.XXXXXX.X.XXXX...XXXX....XXX.......", "XXXXXXX.XXXXXX.XX.XXX.XX.XXX.XX.XXX.X............", ".......XX..XX.XX..XX.XX..XX.XX..XX.XXXXXX.XXXXXXX", ".XXXXXX..XXXXX....XXX.....XX......X..XXXXX...XXXX", "XXX....X......XXXXX..X......XXXXX..XXX....XXXXXX.", ".....XX......X....XXX....XXX...XXXX...XXXX..XXXXX", "...XXXX......X..XXXXX...XXXX..XXXXX...XXXX.XXXXXX", "XXXX...X......XXXXX..X......XXX....XXXX...XX.....", "XXXXXXXXXXXXX.XXXXX..XXXXX..XXXXX..XX.XX.........", "XXXXXXXXXXXX.XXX....XXX....X.X....X.X............", "XXXXXXXX.X.XXXX.X..XX..X...X..X...X..X...........", "....XXX...XXXX.....XX....XXX.....XX..XXXXX......X", "XXXXXXXX.XXXXX..XXX.X...X..X...X.................", "XXXXXX.XXXXXX.XXXXXX.XX.....X......XXXXXX.XXXX...", "........X.....XXX....XXXXX..XXXXX..XXXXXX.XXXXXXX", "...XXXX.XXXXXX...XXXX....XXX..XXXXX..XXXXX..XXXXX", "XXX....XXXXXX.XXXX...XXXXXX.XXXX...XXX....XXX....", ".XXXXXX.....XX....XXX..XXXXX.XXXXXX.XXXXXX....XXX", "...XXXX..XXXXX.....XX...XXXX..XXXXX....XXX.XXXXXX", "X......XXX....XX.....XXXXX..XXX....XXXXXX.XXXXX..", "XXXX...XXXXX..XXXXX..XXX....XXX....XX.....XXXX...", "XXXXXXXXXXX.XX.XXX.XX..XX.XX......X..............", "XXXXXXXXXXXXXXXXXXXXX.XXX.XX..X......X...........", "XXXXX..XXX....XX.....XXXX...XX.....XXXXXX.X......", "....XXX.XXXXXX......X....XXX......X......X.XXXXXX", "X......XXXX...XXXX...XXXXXX.XXXXX..XXX....XXXX...", "....XXX.XXXXXX..XXXXX.....XX..XXXXX..XXXXX...XXXX", "..............XXX....XXX..X.XXX.XX.XXXXXX.XXXXXXX", "XXXXXXXXXXXX..XXXXX..X.XXX..X.X..................", "XXXXX..XXXXX..XX.....XXXXXX.XXX....XX.....XXX....", "X......XXXXXX.XXXX...XX.....XXXXX..XXX....XXXXX..", "........X.X....X.X..X.X.X..XXX.X..XXX.XXXXXXXXXXX", "..............X......X....X.XX..XX.XXX.XXXXXXXXXX", "XXXXXXXXXXXX.XXX.XX.XXX.XX..XX.XX..XX..X.........", "..XXXXX.XXXXXX...XXXX...XXXX.....XX.....XX.XXXXXX", ".......X......X..X...X.XXX..X.XXX..X.XXX.XXXXXXXX", "...............X......X....XXX.X.XXXX.XXXXXXXXXXX", ".........X...X..XX..X.XXXX.XXXXXX.XXXXXXXXXXXXXXX", "......X.....XX.....XX..XXXXX...XXXX...XXXX..XXXXX", ".XXXXXX......X......X..XXXXX......X.XXXXXX......X", "...XXXX..XXXXX......X......X.XXXXXX......X......X", "XXX....XXX....XX.....XXX....XX.....XXX....XXX....", "XXXX...XXX....XXXXXX.XXXXX..XXXX...XXXX...XX.....", ".....XX...XXXX...XXXX......X......X......X...XXXX", "XXXXXXXXXX..XXX.X..X.X....X.X....................", "XXXXX..XXXX...XXXX...XXXXXX.XXXX...XXX....XXXXXX.", "XXXXXXXXXXXXXXXXX..XXX....XX.....X...............", ".......XX.....XX.X...XXXX...XXXX.XXXXXX.XXXXXXXXX"}

    Returns: -1

  41. "XXX....XXXXX..X......XXXXX..X......XXXXX..XXX...."

    {"XXXXXXXXX.X.X....X.X....X.X....X.X......X........", ".....XX...XXXX.....XX..XXXXX...XXXX.XXXXXX..XXXXX", "..............XX.....XX..XX.XX..XX.XXXXXX.XXXXXXX", "XXXXXXXXXXXXXXXXXXX.X..X.X.X..X.X....X.X.........", "....XXX..XXXXX......X.....XX...XXXX...XXXX....XXX", "XXXXXXXX.XXXXXX..X.X....X.X......X......X........", "..............X......X...X.XXX.XXXXXXXXXXXXXXXXXX", "XXXXXXXX.XXXXXX.XXXXX..XXXXX..XXXXX..X.XXX.......", "XXX....XX.....X......XX.....XXXX...XXX....XX.....", "XXXXXX.XXXXX..XXXX...XXX....XXX....XXXXXX.XX.....", "........XXX...XXXXXX.XXXXXX.XXXXXX.XXXXXXXXXXXXXX", "..XXXXX..XXXXX......X...XXXX......X......X..XXXXX", "XXXXXXXXXXXXXXX.XXXXXX.XXXX...X......X...........", ".XXXXXX....XXX...XXXX....XXX......X....XXX......X", "..............X..X.X.X..X.X.XX.XXX.XX.XXX.XXXXXXX", "XX.....XXXXXX.XXXXX..X......XXXX...XXXX...XXXXX..", "XXXXXXXXXXXXX.X..X.X....X......X.................", "XXXXXXXXXXXX.XXX.X..XXX.X..X...X..X..............", ".XXXXXX.XXXXXX....XXX..XXXXX.....XX....XXX...XXXX", "XXX....XXXX...XX.....XXXXX..XX.....X......XXXXX..", "XXXX...XXXX...XXX....XXXXX..X......XXXXXX.X......", "XXXXXXXXX.XXX.XX.XX..XX..X..XX.....XX............", "....XXX...XXXX.XXXXXX....XXX......X......X......X", "XXXX...XXXXX..X......XXXXX..XXX....XXXXXX.XX.....", "XXXXX..XXXX...XXXXXX.X......XXXXX..XXX....XXXX...", "XXXXXXX.X.XXXX.X.XX.X.X.XX...X.XX.....XX.........", "...............X.X....X.XXX..X.XXXX.XXXXXXXXXXXXX", "...............XX...X.XX...X.XXX..XXXXXXXXXXXXXXX", ".......................X..XX..X..XX.XX.XXXXXXXXXX", "...........X...X..X..XX..XX.XX.XXXXXXXXXXXXXXXXXX", "X......XXX....XX.....XXXXXX.XXXXXX.XXXXX..XXX....", ".........X..XX..X..XXX.X..XXX.XX.XXXXXXXXXXXXXXXX", "X......XXXX...XX.....XXX....XX.....XXXX...X......", ".............X......X...X..XX..XX.XX.XXX.XXXXXXXX", ".XXXXXX.....XX.....XX.XXXXXX......X..XXXXX.XXXXXX", ".........X.X.XX.X.XXXX.XXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXX.X..XXX.X...XX.X...XX.X......X.........", "XXX....XXXXX..XXXXX..XXX....X......XX.....XXX....", "XXXXXXX.XXXXXX.XX.XX..XX.XX..XX.XX...X...........", "...XXXX.....XX.XXXXXX.....XX.XXXXXX.....XX...XXXX", "XXXXXXXXXXXXXXXXXXXX.XXXXXX.XX.XXX....X..........", "....XXX..XXXXX....XXX...XXXX.....XX...XXXX..XXXXX", "...................................XXXXXXXXXXXXXX", "...XXXX.....XX.....XX....XXX......X...XXXX..XXXXX", "XXXXXXXXX.XX.XXX.X..XXX.X..X.X....X.X............", ".......X.....XX.....XX.....XXX...XXXXXXXXXXXXXXXX", ".....XX..XXXXX.XXXXXX......X......X....XXX......X", "....XXX......X.....XX......X.....XX....XXX..XXXXX", ".........X......X......XX.....XX..XXXXXX.XXXXXXXX", "..............X......X...X..X.X.X..X.XXXX.XXXXXXX"}

    Returns: 39

  42. "XXX....XXXX...XXX....XX.....XX.....XXXX...XX....."

    {"XXXXXXXXXXXXXXXXXXXXXXXX.XXXXXX.X.XXXX.X.........", "XXXX...XXXXX..XX.....XX.....XXXXXX.XXXX...XX.....", "XXXX...XXX....XXXXX..XX.....XXXXXX.X......X......", "XXXX...XX.....XXXXXX.XXXX...X......XXXXX..XX.....", "XXX....XXXXX..X......XXXX...XXXXXX.XXX....XXXX...", ".....XX......X.XXXXXX...XXXX......X......X....XXX", ".XXXXXX......X...XXXX...XXXX....XXX...XXXX.XXXXXX", "...........X......XX...X.XX..XX.XX.XXX.XXXXXXXXXX", ".....XX......X....XXX.XXXXXX....XXX.XXXXXX......X", ".......................X...X.XXX..X.XXXX.XXXXXXXX", "XXXXXXXX.XXXXXX..XXXX...XXXX....XXX.....X........", "XX.....XX.....XXXXX..XXX....XXXX...X......XXXX...", "XXXX...XXXX...XXX....X......XX.....XXX....XXXX...", "...............X......X..X.X.X..X.X.X.XX.XXXXXXXX", "XXXXXX.XXX....XXXXX..XXX....XXXXXX.XXXXXX.XXXX...", "XXXXXXX.XXXXXX.XXXXXX.XX.XX..XX..X...X..X........", "....XXX.XXXXXX......X.....XX.....XX......X.XXXXXX", "XXXXXX.XXXX...XX.....X......X......X......XX.....", "XXXXXX.XX.....XXXXXX.XXXX...XXX....XX.....XXXXX..", ".............XX...X.XXX..X.XXX.XXXXXX.XXXXXXXXXXX", "XXXXXXXXX.X.XXX..X.XX.....XX.....XX.....X........", "...XXXX....XXX...XXXX..XXXXX..XXXXX....XXX..XXXXX", "............X....X.XX.X.X.XX.XXX.XXXXXXXXXXXXXXXX", "XXXXXX.XXXXX..XXXX...XXXXX..XXXX...XX.....XX.....", "...XXXX....XXX....XXX..XXXXX..XXXXX....XXX....XXX", ".XXXXXX.....XX..XXXXX.XXXXXX.....XX....XXX..XXXXX", "XXXX...XXX....XXXXX..X......XXXX...XXX....XXXXX..", "XXXXXXXX.X.XXXX.X..XXX.....X......X..............", "XXXXX..X......XXXXX..XXXXX..XXXXXX.XX.....X......", ".....XX......X.XXXXXX......X..XXXXX.XXXXXX...XXXX", "....XXX..XXXXX..XXXXX.XXXXXX.XXXXXX.XXXXXX......X", "X......XX.....XXX....XXXXXX.XXXXX..X......X......", "XXXXXXXX.XXXX.X..XXX.X..X.X.X..X.X.X..X.X........", "XXXXXXXXXXX.XXXX...XXXX....X.X....X.X............", "XXXXXXXXXXXXXXXXXX.XXX.XX.XXX..X.X....X..........", "XXXXXXXXX..XXXX...XXX....XXX....XXX.....X........", "X......XX.....X......XXXX...X......XX.....X......", "....XXX......X....XXX..XXXXX....XXX.....XX.....XX", "..XXXXX...XXXX......X.XXXXXX..XXXXX.....XX.....XX", ".........X.....XX.....XXXXX.XXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXX...XXXX.....XX......X.................", "....XXX......X....XXX.XXXXXX...XXXX..XXXXX......X", "XXXXXX.XXXXXX.XX.....XXXXX..XXXX...X......XXXX...", "...........X......XXXX.XXXXXXXXXXXXXXXXXXXXXXXXXX", "............X......X..XX..X.XXX..XXXXX..XXXXXXXXX", "............X..X.X.XX.XXXXXX.XXXXXX.XXXXXXXXXXXXX", "XXXXXXXXX.XXX.XX.XXX.XX...X.XX...X.XX............", "XXXXX..XXXX...XXXX...XXXXX..XXXXX..XXX....X......", ".....................X..XX.XX..XX.XX.XXX.XXXXXXXX", ".XXXXXX..XXXXX..XXXXX....XXX......X..XXXXX..XXXXX"}

    Returns: 21

  43. "XXX....X......XXXXX..XX.....XXXXX..XXXX...XXXXX.."

    {"......X.....XX...XXXX..XXXXX......X....XXX.....XX", "..............XX....XXX...XXXXXX.XXXXXXXXXXXXXXXX", "X......XXXXXX.X......X......XX.....XXXXX..XXXXX..", "XXXXX..XXXXX..XX.....XXX....XXXXX..XX.....XXXX...", "............X..X...XX.X...XX.X...XX.XXX.XXXXXXXXX", "......X.XXXXXX..XXXXX.....XX.....XX.....XX..XXXXX", "XXX....XXX....XX.....XXXXX..XXXXX..XX.....X......", ".................XX.....XX.X...XXXXX.XXXXXXXXXXXX", "...............X.....XXX.X.XXXXXX.XXXXXXXXXXXXXXX", "...........X...X..X...X.XXXX.XXXXXXXXXXXXXXXXXXXX", "..XXXXX.....XX....XXX.XXXXXX...XXXX...XXXX..XXXXX", ".....XX..XXXXX......X...XXXX...XXXX....XXX.XXXXXX", ".XXXXXX...XXXX.XXXXXX....XXX...XXXX...XXXX.....XX", "........X...X..X...X..X...X.XX...X.XX.X.X.XXXXXXX", "XX.....XXXXX..XXXX...XXXX...XXXXXX.XX.....XX.....", "X......XXXXXX.XXXX...XXXXX..XXX....XX.....XXXX...", "XXXX...X......X......XXXX...XXXXX..XX.....XX.....", ".........XX.X..XXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXX...XXXX...XXXXXX.XXXXX..XXX....X......XXXX...", "XX.....XXXX...X......XX.....XXX....X......XX.....", ".................X......XX..X..XX..XX.XX.XXXXXXXX", "XXXX...XXXXXX.XX.....XXXXX..XXXXXX.XX.....XX.....", "XXX....XXXXX..X......XXX....XXXXX..XXXXXX.XXXXX..", "XXXXXX.XX.....X......XXX....XXXX...XXXXXX.X......", "............X...X..X...X..X..XX.XX.XXX.XXXXXXXXXX", "...........XX...XXXX...XXXXXX.XXXXXX.XXXXXXXXXXXX", "XXX....X......XXXX...XXX....XXX....XX.....XX.....", "XXXXXXXXXX.XXXXXX.X.XXXX...XX....................", "......X.....XX...XXXX.....XX.XXXXXX....XXX....XXX", "...XXXX.XXXXXX.XXXXXX...XXXX......X..XXXXX.XXXXXX", "XXXXXXX.XXX.XX.X.X.X....X.X....X.X....X.X........", "XXXXXXXX.XXX..X.XXX.....X......X......X..........", ".........X...XX.X...XX.X.X.XX.X.X.XX.XXX.XXXXXXXX", "XXXXXXXXXXXXX.X.X.X......X......X................", ".............X......X....X.XX.XXX.XXXXXX.XXXXXXXX", "XXXXXXXXXXXXXXXX.XX..X..XX.......................", ".....XX.XXXXXX....XXX.....XX......X.XXXXXX...XXXX", "XXXXX..XXXX...XXXXXX.XXXX...XXXXX..XXXXX..XX.....", ".....XX....XXX.....XX..XXXXX.....XX..XXXXX...XXXX", "XXXXXXX.X.XXXX...XXXX....X.X.....................", "XXXXXXXXXXXXXXX.XXXXXX.XX.XX...X.X....X..........", ".XXXXXX.XXXXXX..XXXXX....XXX.XXXXXX....XXX..XXXXX", ".....XX.....XX.XXXXXX.XXXXXX....XXX...XXXX.XXXXXX", "XXXXXXXX.X..XXX.X..XXX.X..XX.....XX......X.......", "XXXXX..XXXXX..XX.....XXXXX..XXXXXX.XXXXX..XXXXX..", "XXXX...XX.....XXXXX..X......XXXXXX.XXX....XXXX...", ".....XX....XXX..XXXXX......X......X.XXXXXX.....XX", "XXXX...XXXXXX.XXXXXX.X......XX.....XXX....XX.....", ".............X..X...XX.X.X.XX.X.XXXX.X.XXXXXXXXXX", ".........X....X.X....XXX..XXXXXX.XXXXXX.XXXXXXXXX"}

    Returns: -1

  44. "X......XXXXX..XX.....XX.....XXX....XXX....XXXXXX."

    {"......X.....XX...XXXX....XXX..XXXXX.....XX...XXXX", "XXXXXXXXXXXXX.XXXXX..XXXXX...XX.X....X...........", ".......X.X....X.XX...X.XX...X.XX..XXXXX.XXXXXXXXX", "XXXXXX.XX.....XXXXX..XXXXX..XXXX...XXXX...X......", ".........XX..XX.XX..XX.XX..XX.XXX.XX.XXXXXXXXXXXX", "X......XX.....XXXXX..XXXXXX.X......XX.....XXXXX..", "...XXXX......X......X.....XX......X...XXXX..XXXXX", "...XXXX.XXXXXX......X.....XX...XXXX.....XX...XXXX", ".............................XX.XX..XX.XX.XXXXXXX", "........X......X......XX....XXX..XXXXXXXXXXXXXXXX", "XXXXXXXXXXXX.XXXXXX.XX..XX.XX...X..X...X.........", "XXXXXXXXXXXX.XX.X.X.XX.X.X.XX...X..X.............", ".............X......X.X...XX.X..XXX.XX.XXXXXXXXXX", "...XXXX..XXXXX.....XX.XXXXXX....XXX..XXXXX..XXXXX", "XXXXXXXXXX.XXXXXX.X..X...X..X...X..X.............", "XXXXXXXXX..XX.XX..X..XX.....X......X.............", "XXXXXXXXXXX.XXXXX...XX.X...X..X...X..X...........", "..XXXXX.....XX......X....XXX..XXXXX.XXXXXX......X", "XXXX...XXXXXX.XXXXXX.XX.....XXX....XXXX...XXXXX..", "X......XXXXX..XXXX...X......XX.....XX.....X......", "XXXXXXXXXXXXXX.XXXXXX..XXXXX..XXXX...XXXX........", ".XXXXXX...XXXX....XXX......X......X......X..XXXXX", "...XXXX.....XX.XXXXXX.XXXXXX......X......X..XXXXX", "X......XXX....XXXXXX.X......XXXX...XXXXXX.XXXXXX.", "XXXXXXX.X.XXXX...XX.X...X..X.....................", "XXXX...X......X......XXXXX..XXXXX..XXXXX..X......", "...........X...X.XX...X.XX..XX.XX.XXX.XXXXXXXXXXX", "XXXXXXXXX..XXXXX..XXXXX...XXXX...XX......X.......", ".......X......X.XX...X.XX...X.XX..XXXXXXXXXXXXXXX", "XXXXXXXXXX..XXXXX..XXXX....XXX....X.X............", "XXXXXXXXXXX.XXXXX..XXXX...XXXX....X.X............", "XXX....XXXX...XXXX...X......X......XXXX...XXXX...", "XXXX...XXXXXX.XXXX...XX.....XXXX...X......XXXXX..", "............X......X......X.....XX...XXXX.XXXXXXX", ".......X......X..X...XX.XX..XX.XX..XX.XX.XXXXXXXX", "XXXXX..XXX....XX.....XXX....XXXXXX.XXXXX..XXXX...", "............X...X..X...X..X...X..X...X.XX.XXXXXXX", "..................X...X..XX..XX.XX..XXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXX..XX.XX..XX.XX..XX.XX..XX.......", ".....XX......X.XXXXXX...XXXX...XXXX..XXXXX...XXXX", "........................X.....XX.XXX.XX.XXXXXXXXX", "XXXXXXXXXXXXXXXXXXX.XXX.XX.X.X.XX.X....X.........", "..XXXXX..XXXXX....XXX....XXX..XXXXX..XXXXX..XXXXX", "XXXXXX.XXXXX..XXX....XX.....XX.....X......XXXXX..", "XXXXXXX....XXX....XXX....XXX.....X......X........", "XXXXXXXX.XXXXXX.X.XXX..X.X.X..X.X....X.X.........", "XXXXXX.XXXXXX.XXXXX..XXX....XXX....XXXX...X......", "...........X.XX...X.XX...X.XX.X.X.XX.X.XXXXXXXXXX", ".....XX.XXXXXX...XXXX...XXXX....XXX...XXXX...XXXX", "......................X..X...X.XXXX.XXXXXXXXXXXXX"}

    Returns: 3

  45. "XXXXX..XXX....XXX....XXXX...XXX....X......XXXXXX."

    {"....XXX.XXXXXX..XXXXX...XXXX..XXXXX.XXXXXX...XXXX", "XXXXXXXXXX.XX..XX.XX...X.XX...X..................", "XXXX...X......X......XXXXX..XXXXXX.XXXXX..XX.....", "XX.....X......XXXX...XXXX...XXXXX..X......XXXXX..", "XXXXXXXXXXXXXX..XXXXX..XXXXX..XX.XX..XX.X........", "............X...X..XX..XX.XX.XXX.XX.XXX.XXXXXXXXX", "X......XXXXXX.XXXX...XXXX...XXXX...XXXX...XX.....", "..............XX..X..XX..X.XXXX.XXXXXX.XXXXXXXXXX", "....XXX....XXX.XXXXXX.XXXXXX....XXX....XXX.....XX", "X......XXXXXX.XXXXX..XXXXX..XX.....XX.....XXXXX..", ".........XX.....XXX..X.XXX..XXXXX..XXXXXX.XXXXXXX", "XXXXXX.XXXXXX.X......X......XXXX...XXXXXX.XXXX...", "XXXXXXX.XXXXX..X.XXX..X.XXX..X..XX..X..XX........", "...XXXX..XXXXX...XXXX....XXX..XXXXX.XXXXXX....XXX", ".....XX.....XX.XXXXXX.....XX.XXXXXX......X....XXX", "XXX....XXXXXX.XXXXX..XX.....XX.....XXX....XXXXXX.", "......X.....XX.....XX.XXXXXX....XXX....XXX.....XX", "...............X.....XX...X.XX.X.X.XXXX.XXXXXXXXX", "XXXXXXX.XXXXX..XXXXX..XX..X...X..X...X...........", "XXXX...XXXXXX.XXXX...XXXXX..XXXXX..XXXX...XX.....", "XXXXXX.XXXXXX.XXXXXX.XX.....XXXXX..XXX....XXX....", "..........X...X..X.X.X.XX.X.X.XX.XXX.XX.XXXXXXXXX", "XXX....X......XXXXX..XXXXXX.XX.....X......XX.....", "XXXXXXXXXX.XXXX.X.XXX..X.XXX..X.X.X..X...X.......", "XXX....XXXXX..X......XXXXX..XXXX...XXXXX..XXXXX..", "...XXXX.....XX......X.....XX....XXX...XXXX.....XX", "........X...X..X...X..XX..X..XX.XXXXXX.XXXXXXXXXX", "............X......X......X....X.XX..XX.XXXXXXXXX", "...........XX..X..XX..X..XX..XXXXX..XXXXX.XXXXXXX", "XXXXXX.XXXXXX.XXXX...XXXX...XXX....X......XX.....", "..........X......X.X...XX.X.XXXXXX.XXXXXXXXXXXXXX", "...XXXX......X......X.XXXXXX.....XX..XXXXX....XXX", "XXX....X......XXX....XX.....XXX....XXXXX..X......", "...............XX....XXXX.X.XXXX.X.XXXXXXXXXXXXXX", ".....XX....XXX...XXXX...XXXX..XXXXX..XXXXX...XXXX", "................X......X......XXXXX..XXXXXXXXXXXX", ".XXXXXX....XXX.XXXXXX......X.XXXXXX.XXXXXX...XXXX", ".XXXXXX.XXXXXX......X......X.....XX.XXXXXX.XXXXXX", "XX.....XX.....XXX....XXX....XX.....XXX....X......", "................X....X.X....X.X.XX.XXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXX.XXX..X.XXX...........", "XXXXXXX.XXXXXX.XXXX.X.XXX..X.XXX..X.XXX..........", "X......XX.....XXXX...XX.....XXX....XX.....XXX....", "........XX..X..XX..X..XXX.X..XXX.XX.XXX.XXXXXXXXX", "XXXXXXXXXXXX.XXXXXX.X.XXXX.X.XX.....XX...........", "XXXXXXXXXX.XXXXXX.XXXX...XXXX...XXXX...X.........", "..................X..X...X..XXX.X.XXXX.X.XXXXXXXX", "XX.....X......XX.....XXXX...XXX....XXXXXX.XXXXXX.", "............X.X....X.X....X.X..X.XXXX.X.XXXXXXXXX", "XXXXX..XX.....X......XX.....XXXXX..XXX....XXXX..."}

    Returns: -1

  46. "XXXXXX.XXX....XXXXXX.X......X......XXX....X......"

    {"XXXXXXXXXXXXXXXXXXXXX.XXX.XX.X.X.................", "XXXX...XXXX...XXXXX..XXX....XX.....XXXXXX.XXXX...", "XXXXXXXXX.XX.XXX.X..XXX....XXX....XXX............", "..........XX.X...XX.X.X.XXXX.X.XXXX.X.XXXXXXXXXXX", "...XXXX...XXXX...XXXX.XXXXXX...XXXX...XXXX...XXXX", ".........................X...X..X...XX.XXXXXXXXXX", "XXXXXXX.XXX..X.XX.....X......X......X............", "...XXXX......X.....XX.....XX......X.....XX.XXXXXX", "X......XXXX...XX.....XXXX...XXXXXX.XXXXX..XX.....", "X......X......XXXXXX.XXXXXX.XXXX...XXXX...XXX....", "...............X......X......XX.....XX.XX.XXXXXXX", "...XXXX...XXXX.....XX..XXXXX..XXXXX.....XX..XXXXX", "XXXXXXXX.X.X.XX.X.X.XX.X.X.X..X...X..X...........", ".......X.....XXX....XXX...XXXXX..XXXXXXXXXXXXXXXX", "......X.XXXXXX...XXXX.....XX......X..XXXXX......X", "...............XX.....XX...XXXXXXXXXXXXXXXXXXXXXX", ".....XX.....XX...XXXX..XXXXX.XXXXXX.....XX.XXXXXX", "XXXXXXXXXXXXXX.X.XXXX.X.XXXX.X..X.X.X..X.X.......", "XXXXXXX.XXXX.X.XX.X...XX.X....X.X................", "XXXX...XXXXX..XX.....XXXXX..XXXXXX.X......XXXXXX.", ".......X.....XXXX...XXXX.X.XXXX.XXXXXXXXXXXXXXXXX", "XXXXXXXXXXX.X.XXXX.X.XXX..X.XXX..X..XX..X........", "XXXXXXXXXXX...XXXX....XX.....XX.....XX...........", "......X....XXX...XXXX......X.XXXXXX..XXXXX...XXXX", "........XX..X.XXX..X.XXXX.X.XXXX.XXXXXXXXXXXXXXXX", "...........X..X.X.X..XXX.X..XXX.X..XXX.X.XXXXXXXX", "XXXXXXX.XXXXXX.X.X.XX.X.X......X.................", ".........X..X.XXX.XX.XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "....XXX......X.XXXXXX.....XX..XXXXX.....XX.....XX", ".....XX....XXX.XXXXXX...XXXX......X...XXXX.XXXXXX", "XXXXXXXXXXXXXXXXXXX.XXXX...XXXX...XXX....X.......", "..........X.....XX.X...XXXX.X.XXXX.X.XXXXXXXXXXXX", "XXXXXXX.XXXXXX.X.XXXX.X..XXX.X...................", "XXXXXXXXXXXXXX.XXXXXX..XXXXX..XXXXX...XX.X.......", "XXX....XXXX...XX.....XXXXXX.X......XXXX...X......", ".....XX....XXX....XXX...XXXX....XXX......X.....XX", "..........XX...X.XX.X.X.XX.X.XXXX.X.XXXXXXXXXXXXX", "......X....XXX...XXXX.XXXXXX...XXXX..XXXXX..XXXXX", "XXXXX..X......XXXXXX.XXXXXX.XXXX...XXXXX..XXXXX..", "XXXXX..XXX....XXXXX..XXXXXX.XXXX...XXXXXX.XXXXXX.", "XXXXXX.X......XXXX...X......XXX....XXXXX..XXXXXX.", "X......XXXXXX.XXXX...XXX....XX.....XXXX...XXXXXX.", "......X....XXX.XXXXXX....XXX.XXXXXX....XXX...XXXX", "........X......X....X.X....XXXX...XXXX..XXXXXXXXX", ".......X......XX.....XX.X.XXXXXXXXXXXXXXXXXXXXXXX", "..........X.X....X.XX.X.X.XX.X.X.XXXXXX.XXXXXXXXX", "XXX....XX.....XX.....XXXXXX.XXXXXX.XXXX...XX.....", "XXXXXXXXXXXX.XXXXXX.XXXX.X...XX.X....X...........", "XXXXXXXXXXX.XXX.X..XXX.X..XX..X..XX..X...X.......", "XXXXXXX.XXXX.X.XX.X.X.XX...X.XX...X.X............"}

    Returns: 3

  47. "XXXX...X......XXX....XXXX...X......XX.....XXX...."

    {"XXXXXXXXXXXXXXXXXXXXX.XXXX.X.X..X.X.X..X.........", "...XXXX...XXXX.XXXXXX....XXX..XXXXX....XXX.XXXXXX"}

    Returns: -1

  48. "XXXXXXX.XXXXXX.XX.XXX.XX.X.X.X..X......X........."

    {"XXX....XX.....XXX....XXX....XXXXXX.X......XXXX...", ".XXXXXX.....XX....XXX..XXXXX......X...XXXX....XXX", ".......X...X..X..XX..X..XX.XX..XX.XXX.XX.XXXXXXXX", "XXX....XXXX...X......XXXXX..XXX....XX.....XXXXXX." }

    Returns: -2

  49. "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXX......."

    {".........................................XXXXXXXX" }

    Returns: 0

  50. "XXXXXXX.XXXXXX.XX.XXX.XX.X.X.X..X......X........."

    {"XXX....XX.....XXX....XXX....XXXXXX.X......XXXX...", ".XXXXXX.....XX....XXX..XXXXX......X...XXXX....XXX", ".......X...X..X..XX..X..XX.XX..XX.XXX.XX.XXXXXXXX" }

    Returns: 1

  51. "XXXXXXX.XXXXXX.XX.XXX.XX.X.X.X..X......X........."

    {".XXXXXX.....XX....XXX..XXXXX......X...XXXX....XXX" }

    Returns: 0

  52. "XXXXXXX.XXXXXX.XX.XXX.XX.X.X.X..X......X........."

    {"XXX....XX.....XXX....XXX....XXXXXX.X......XXXX...", "..XXXXX.....XX....XXX..XXXXX......X...XXXX....XXX", ".......X...X..X..XX..X..XX.XX..XX.XXX.XX.XXXXXXXX" }

    Returns: -1


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: