Statistics

Problem Statement for "LayeredGlass"

Problem Statement

You are working in a glass factory, that assembles layered glass, where two pieces of square glass are layered together to create a single, stronger pane of glass.

Unfortunately, the glass sometimes has defects... and a defect in either layer results in a defect to the finished product. However, as the pieces are square, they can be flipped and rotated in whatever way is optimal to minimize the number of defects in the finished product when the layers are put together.

The two pieces are glass are defined in String[]s a and b. Each character of each string will be '.' to indicate a good area, or 'X' to indicate a defective area.

Return the minimum number of defective areas in the final layered product, assuming the two layers are rotated and flipped optimally.

Definition

Class:
LayeredGlass
Method:
minDefects
Parameters:
String[], String[]
Returns:
int
Method signature:
int minDefects(String[] a, String[] b)
(be sure your method is public)

Notes

  • Both pieces of glass are square, that is, the number of strings in each array will be the same as the number of characters in each string.

Constraints

  • a will have between 1 and 50 elements, inclusive.
  • a and b will contain the same number of elements.
  • a and b will both define a square.
  • Each character of each element of a and b will be '.' or 'X'.

Examples

  1. {"X.", ".."}

    {"..", ".X"}

    Returns: 1

    Each layer has a defect, but if we rotate them properly, they line up, leaving only a single defect in the finished product.

  2. {"...", "..X", "..."}

    {"X..", "...", "..."}

    Returns: 2

    No matter what we do, both defects will appear separately in the finished product.

  3. {"...", "...", "..."}

    {"...", ".XX", "..."}

    Returns: 2

    One layer of glass is perfect, but the other layer has two defects, regardless.

  4. {".XX", "...", "..."}

    {"X..", "...", "X.."}

    Returns: 3

  5. {"X.X", ".X.", "X.X"}

    {".X.", "X.X", ".X."}

    Returns: 9

  6. {".X...X.X..X.X.....X.X.X.","..XXXX..X...X...XX.....X",".X......X....X.X.X..X.XX","..XXX.X.X...X.XX.X.X....",".X...XX......XX..XX.XX..","X...XXX.......X...X..XX.","..X...X...X...X.......X.","X.....XX..XXX..X.X.XX...",".X...X.XX....X....X..X.X",".X.X....XXX...XX........","....X...X......XXXX..XX.","....XX..X....X...X.X....",".X...X.....X....XX..X.X.",".....X.X.....X...XX..X..","..XX..XX..X..XX....X.X..","X........X.X.X......X...","XX..X..X..X..X..X.X.....","..XX....X...XXXX.....XX.","....X.XX.....XX..X.X....","XX...XXX.....X..X.X.X..X","X...XXXXX..........XXX..","X........XX..X.X.X..XX.X",".........X..X.X......X..","...XX....XX...X...X.X..."}

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

    Returns: 303

  7. {"..X..XXX..XX.XX...X....XX.X.....X.","X.X..XX......X....XX..........X..X",".....XX.......XX.X..XXX....X...X..",".X.XX....X...........X.X.X.XXXX.XX",".X........XX.XXXX..X..XXXX.X.X..X.","....XXX.X..X.........X......X....X","..X.....X.X..XXX...X..X....X.XX...","..XXX...X..XX......X..X.......X.X.","......X...X....X.X....X...X....X.X",".X..X.XX......XXX.......X..X..X...","..X.X.X.......X.X..X...X.X..X....X",".....XX...XX.XX....XXX...XX..X...X",".X.X.X..........X..X..X...XXX.....",".X.X..XX...X.X......XX......X....X",".X....X.......XX.......XX...X...XX","X.X.X.XX.X............XX.......X.X","..X.XX....XX..XX.....X........X...","...XX.XX..X..........X.....XX.XX.X","XX..X.....X..........X.X.X..X..XX.",".XX..X..X......X..X....XX....XXX..","..X....X.X....X......XXXXX.XX.....",".X..XX...X.....X....X....XX.X.....","X......X......X..XX..XXX.X......X.","X.XX..X...X.X...XXX.......XX.XX..X","X....X...XX...X..X....X....XXX.X.X","..X..XX..X...X......X.......X.....",".X.X..XX.XXX..X..X...X...XX.X.X.XX",".....X..XX.X..X....XX.X..X.....X..",".X.X.X....XX..X...X.......X.......","X....XX..X.X.XX......XX..X.....X..","X..XX.X.X.X..XX....X.......X......","X.....X...X....X....X.......X.....","...X...X...XX....X.X.XXX....X....X","...X..X....X.X............XX.XX..."}

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

    Returns: 573

  8. {".X.....X.X....X...X......X.XX..X.....X","..X.....X.X...XX..X....X....X.X.......",".......X.XX.....X.........X..X........","X......X........X.....X.....X.XX...XXX","X..X..........X...X....X....X.XXX..X..","..XX...XXX..X...X..X..X.X.X.X.......X.",".X...X...X...X..X.X....X.XXX.XXX......","...X.....X..........X...X....XX...X...",".....XXXX..X...X....XXXX.XX..X........",".X...XXX.....X....X.....X.X..X....X...","X..X.X....X.......X.X..........X....X.","......X....X..X...X..X.XX.XXX....X...X","...X..X.X.XX........X.....XXXX..X.X.X.","X.......X....XX...XX..X...X...X.X.X..X",".X.X.X.XX..X.X.XXX......XXX...X.....X.",".........X.X........X..X...X....X..X.X",".....X..X..X.X.X.X.X...X...X...XX.XXX.","..X...........X...XX...X.....XX.XXX...","X.X.X.......XX..X....XXX..X...XXXXX..X",".XX...............X.....XX............","....X.X..X......X....X.X..X........X.X","X.XX.X...X..X......X.XXXX.XXX...XXX..X",".X.....X....X.......XX...X......XX..X.",".X.X.XXX..........XX....X.X.X.X.XX....",".XXX.X.X.X...X....X..X.X.......XX.X.XX","X..X...XXX.....X.X......XXX....X......","XXX.........X.XX....X..X..X..X..X.X..X",".X...XX.......X.X..X.....X.X..........",".......X..X.X...X......X...X..XX...X..","....X......X..X..X.....X.X..........XX",".X..X.....X.XX..X..X..X.X.X..X.X.XX...","X...X.X.X...X..X...............X.....X","..X........XXX.X..XXX....XX......X.X..","X..X.X....X.XX..X.XX......X.......X.X.","..X.XXXX.X.X...X.XX.........XXX.....X.",".X.......X.....XX.X..X.......X....X..X","...X.......X.X.......X...X.......XX.XX","..X...X....X..X.X............XX...X..."}

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

    Returns: 700

  9. {".X......XX.X........X.X....X..XXXX..X.....","..X.XX...XX.X..X.X.X...X.X.....X..X..X.XXX",".XX...X...X..X.X....X.X...XX..X.X......XXX","....X...X.........X.......X....X...XX...XX","..............X......X..X.X.......X..X....",".X..X.X.XX............X..XX..X.X....X.....",".X............XXXXX..X.X...XXXX......X....",".....X..X.........X...........X..X..X.X...","....X........X.X..........X..XX.....X..XX.","XX...X.XX...X....XXXXX..XXXX......XXX.....","....X...X...X.....X...X..X.......X....X.X.","...XX............XXX.......X..XX.X....XXX.","X..X...XX..X....X....XX..X.X..X.......X...",".X......X..........XX.X..X..X...X...X....X","X.....X........XX..XX....X....X..........X",".......XX.XX.........X...XX.X..XX.X...X...",".X..XX.X..XX.X....X..X....X....XX.X..X....",".X...X.........X..X....X....X.X.....X....X","...XXXX.XX..X.X.XX......XX...XX..X...X...X",".X..X..X.X..XX.X.....................XX...","...X..XX.....X.X....X.....X...X..XXXX.XX..",".....X...XX..X.X..X...XX...X....X..XXX....",".X.X.X...X......X.X..XXX.X..XXX.....X.....",".........XX..XXX.....XXX...X.X........XX.X","..X.X..X....XXXX...X.X...X....XXX.....X...","XX......X......XX..X................X.....","....XX.....XX..X...X...X.X.X.X..X..X.X....","...........XX.....X.........XX...X.X......","..X.XX....XX.........X..X....XX.....X.X.X.",".X.X.........X.........X..X..XXX..X..X..XX",".................XX....XX.....X......XXXX.",".X...........XX...X..X...X.......X.......X",".XXXXXXX..X....X..X.XX.XXX.XXX.X..XX.....X","...XXXXXXX.XX..X.X...........XX...X..XX...","X...XX..XX.....XX.........XXX..X......X..X",".X...X...X.X...X...X..XX.X..X.X...........",".......X..XX.X.....X.X.X.X.X.XX.X.......XX","XXXX.X..X..XX....X.XXXX...X....X...X.X....",".XX..X.X......XXX.X.....X..XX..X..XX....X.",".....X...X...XX...X.X.X......X.X..X.....X.","....X..XX...X....X...X.X..X....X.....XXXX.","X.XXXXX.X.X..X..X....XX...X....X.XXXX.X..X"}

    {"....XX.....X..XX........X...X.X....X....XX","X.X.XXX.X...XX.X.X.X.X..X....XX...X.......","..XXX.....XX.X....X..........X...X...X...X",".......X..X...X.X.XXXXXXX...X...XXX.X.....",".X.X.X.........X...X.X.X.....XX.X.X..X.X..","X.....X.XX....XX.X.X.X..X.......X......X..","...X.....X....X...XX.......X..XX.XX...X...",".X.........X.XX..X.XXX..X..X..X..X........","X.X.X....XXXX...XX.X.XXX...X.........X...X","..X...X......X.X...X.X.........X.X....XXX.","........................X...X.............",".X..X..XX....XXXX.....X...X..........XX.XX",".XX....XX...X.X.X.......XX.......X......X.",".....................X....X.XX...X..X...XX","....X.....X....X..X..X.....XX........X.X..","..X.XX.X....XX..X..XX.......XX.....XXX....",".XX..X......X..X...X......X.....X.........",".........XX.XXX....X...XX..........X...X.X","..X.X.....XXX...X.X.X............X...X.X..","X..X..X...X..X.XX..X.......XX..XXX..X.....",".XX..X....X.X...X....X..X.................",".XX.X.......X.X....X..X.....XXX..X..X....X","...XX.X.XXXX.X.X......X....XX...X.X......X","..XXXX.X..XX..X.X.X..X......X...X..X.....X","....X....XXXXXXX...XX...X.X..X...........X","X.X.X.X.....XXX.X.X....X...........XX....X",".XXX..X.........XX.X.......XX.X...X...XX.X",".X..X.XX.X.X.XX...X.......X..X.....X.....X","....XX....X...XX.......X...XXX..X......X.X","..X...XX...XXX........X.X.....X..XX.X.X.X.","......XX....X............X.X..X..X........","X......X..X.......XXX...X....XX.XXX...X..X","X.X.X..X....XXX..X...X.XX..X.X.....XX....X",".....XXX.XX....X.X........X..X..XX...X..XX","..X...X.X....X.X.X...XX.X...XX..X...X.....",".X.X..X..XX.X..X...XX..XX.....X....X...X..","..X.........X...X.XXX.XXX...X....XX..X....","X........X.XX..XX.....X.....X..XXX...XX...","..X....X...X......X..X...X......X.XXX...X.",".X.X.....X........XX.X.X.XX.X.....XXX....X","..........X.XX........X....X.......X.XXX..","XX..XX..XXX..............XXXX...X.....X..."}

    Returns: 869

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

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

    Returns: 557

  11. {".X...X...XX.X...XX","X.X....X......X...",".XX.....XX.XX.X...",".......XX.X....X.X",".....XXX..X....X..",".X.XX.X..X...XXX..",".XX....X....X...XX","..X...X...XXX.....","X..X...X.....X..X.","XX.....XX.X..X...X","..X....X...XX.X.X.",".....X.XXX.......X","..X.X...X....XX..X",".....XX..X...XX...",".X..X.X...XXX..X..","...X.......X.X..X.",".X.........XX.X...","XXXX...........X.."}

    {"X.....X.XX.....X..","X.....X........XX.","X.X....X..X....X..",".X.X..XX.XXXX..X.X","....X.X.X........X","XXX....X....XXX...",".X.....X...XX.....","....XX.X.XX.......","........X.........","X.X..X....X....X..","..X..XX.XX...X...X","XX.......XX....X..","...X.X.....XX.X...","....X......XXX....","..XX...X...X.XX.X.","...X..XXX....XXX..","X.X.........X..X..","...X..X.X...XX...X"}

    Returns: 160

  12. {"XX....X....XX.X....XX.....XX......",".X.................X....X..X....X.","XX......X.X......X...X.....X.XXX..","X.X.X..X.........X.......X...X..X.","...X.........X....X.....XX........","X.XX....X.X....X...X...X..X...X...",".X...X.XXX...X...X.XX.X..X.XXXXXX.",".X.....X.X.X...XX.....X.........X.","X......XX..XX....X...X.XX.....X.X.",".....X..X.....X..X.......X.X.XX.XX",".X.XX....X..X.X.XX......X.XX...X..",".....X..X...XX.XX.......X........X",".XX.........X......X...XXX...XX.X.",".....X.X.X..XX.....X.X......XXX...","X.X.X..X...XX....XX..X..XXXX.....X",".XXX........X...X...X....X....X..X","X.XX...XX.X..XX.............XX....","..XXX..X..XXX....X...XX..X....X.X.","X...X..X..............X.........X.",".X..XXXXXX...X....X.XX.....XX..X..","X.......XXX.....X.XX....X....X....","X..X....XX.......X.........XXX....",".X.XXX......X......X...........XX.","X.XX...X...X...XX......X.XXX.X.XX.","..X......XX..X.X..........X.XXXX..",".......X.X....X...X..X..XXX.......","...X.X.X....X.XX...XX.....X.......","X..XX....XX....X............X.XXX.",".XX.X.X.....X...X........X.....X..","......XX..X........X.X.X.X....X...","...X....XX..............X..XX.XX..","...X..X.X.X.XX..XXX.......XXX....X","..X..X.XXX....X.XXX...X.X.X...X...",".X..X...X........XX.....X.X..XXX.X"}

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

    Returns: 572

  13. {"..XX.X....XXXX.X...X.X.........XXX.X..X.X.X...","XX.....X....X.....X..X....X..X.......X...X.XXX","....X...X.....X...X...XX..XX.X...XX....X.....X","...X..X...XX..XX.......X.....X..X....X.XX.....","...X..X.X....XX......XX.......X...XXX....X..XX","XX...XXX..XXX...........X.X........X...X.X...X","....X.XX.......X....X.X..X..X......X.X...X....",".......X......X.X...XXX.X....X.X.....X.XX.X...","...........XXX...X....XX...XXX....XX....X..XXX",".XX...X...X....X.....X......X..X..XX.XXX......","X.X..XXX.....X.X..X...X.X.X..XX.X.XX.....XX..X","X.X...XX.X.XXX..X.X....X..XX...X.....XX...X...",".XX.X.X..X..........X.X..X..XX..XX.X....X.X.X.","XXX.....X..X..X........X..X..XX..XX....XX...X.","..XX.X.........XX......X.....X.......X..X...XX",".X......X..X.....X..X..XXX..........XX.....XX.",".X.X...XX...X.X...X........XXX..X..X.X...X..XX","....X..X....X.XXX..X..X.X......X....X....XXX..","XXX....XX.....XX.......XX.............X.......",".XXXX..X...XX...X.................XX..XX...XXX","..X...XX..X..XX...X.....X.X..X.X..X.....X....X","....X...XX.X.XXX.....X..X...X......XX......XXX","......XX...X..X.....XXXX..XX..X...XX.......X..","...X............X....X.X.......X....XX........","......X...........X.........X..XX......XX...XX","............XXX....X.X.X......X.........XX.XXX","..X.X..X...XXXX..........X....X....X....X.....",".X.......X.......XX....X...X.......X..XXXX....","XX....X.X.X..XXX....X.........X...X...X.......","X..X..X......X..XXXX.XX....XX.................",".XX...X........X....X.....X...X....X.....X..XX","..XX..X......X........X..X....X..XX...X....X..","X..X....XX......XX....X.........X.X.X....X..XX","X.X..X...XXXX....X...XX.......X.XXX.XXX.X..X.X","...XXXXXX.X......XXX....X......X.X.XXX.X......","X..X....XX..X...X..X.XX.X.X....X..X.......X..X","X.XX.X......XX.X.X.X..X..X.............X.X..X.","........XXX..X..X.X.......XX.......X..X.X..X..","...XX....X.X....X..............X..X.X....XXX..","..X...X.........X.....XX....XX..XX..........X.",".....X..XX.X....X.....X....X...X...XX..X....XX","X......X..X.X..X.XX..X.XXX.XX..X..X...X.......",".X........X..X..X.X.X.XX....XXX.....X.X.X.X...","........X..XXXX.X.........X.X..XXX..X.....X...","X......XXX.X.X..XX.X..XX...X..X.X.........X.X.","XX..XXXX.X...X.X......X.X.............X.XXXX.X"}

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

    Returns: 1072

  14. {"...XX....X.....","XX....X...XX.X.","X..X...X.....XX",".X...X.X..XX..X",".......X.X.....",".XX.X..........",".........X.X.X.",".XX.........X..",".XXX...XX......",".......X.......","...XX...XXXXXXX",".X..XX........X",".........X.X.X.","X....X.X.....X.","X......X......."}

    {"...X.X.X..XX..X","X.....XX....X..","XX.X....XXXX...","..XX.X.....X...","..X.X..X.....X.","...XXX..X.X.X..",".XX...X...XXX.X","..X...X..XXX...","X.X..X..X....X.","XX....XX..XX...",".X....XX.......",".X....X.......X","..XX....XX...X.","...X....X......",".X.........X..X"}

    Returns: 107

  15. {"...X.....X..XX....X...XX......","......X..X...X.X.....X.X.X....","XX....XXX..X.X..X....X..X.XX.X",".X......X..X..X.XX.......X.XX.",".X.....X.X......XX..X.XX....XX","X.........XX...X...........X..","XX......XX..XX...XX.X.X.XX...X","X...........X....X.....X......","..X......XX.XXX....X...XXX.XX.","X..XXX...X........XX...X...XX.","..........X......X.....X...XX.","..X.XX....XX.....X.X.XX....X..","..X.....X...X.X.X..X.X...X...X",".X...X...X....XX...........X..",".......X...XX..XX.XX..X.XX.X.X","...X......X..X..X.....X.X.....","....X...X..XX..X....XXXX....X.",".X..X.....X..XXX.......X.XX.X.","....XX.XX.X.X....XXX..........",".X..X.XX.......XX..XX......XX.","...XXX.X.X.X..X.....XX..X.X...","X......X.X...X..XX.......X....","..X...X.XXXX.X.X.......XX...XX","..X........XX..............XX.","X.X.X......X.....X........X.X.","XX.......XX............X.X..X.",".......X...XX.X.......X..XX..X","......X....X......XXX...X....X","XX....XXX.XX..........X..X..XX","XX.X.X.X.X.X.X...X.XXX.X.X...X"}

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

    Returns: 439

  16. {"..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................",".................................................."}

    {"..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................","..................................................",".................................................."}

    Returns: 0

  17. {"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

    {"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

    Returns: 2500

  18. {"....X....X...X.............X....X.X.........X..XX.","........X.X......X...X......X..X.....X............","..X........X...X.X.....................X...X.....X",".....X.....................................X......","..XX.X......X.........XX....X.....................",".............X..........X.............X.........X.","..........................X......X....X.....X.....","....................X............XX.......X......X","..X....................X.....X............X.......","..................................................","X..X.X.X....X.XX........X.........................",".X..XX..X................X...................X....",".......XX.............X...X.X................X....",".......................................XX.X......X","..X..X.......X......................X.............",".............XX...X........X..................X...",".........X..X.............XX.X....................","..XX.................X.........X..............X...","...........................X.X.............X...X..","......X......X........XX.................X........","....XX...X....X...........X..X........X...........",".X...........XX.................X.................","X...X.......X......X...............X....X.........","...X.............X.........X...............X......","..X..............X...........X...................X","..............................X....X...........X..",".........................X.........XX.............","..X.........XX.....................X..............","................X.....X...........................",".........X..X......X.X...................X........","..............X...................................",".....X...X..X........X...X...............X........","...............X.......X.............X............","............X...................X.................",".............XX..X.................XX.............","...........X..........................XX..........","...X.................X......X.....X..X.......X....","......X................X.......X.....X.......X.X..","........................X.X........X.........X....","XX...X..........................X....X............","....XX...........X......X.........X.X.............",".............X.......X....................XX....XX","X...X..........X...X..................X....X......","..................................................","................X...............................X.","........X....X..........X....X.........X..X.......","......X.....XX..........X...X.....................","......................X...X.X.X..XX.....X.......X.","...X..............X.....XX........................","...............X.X....X...................X....X.."}

    {"...........................X..X....X..............","............................X.....................","................X.........XX................X.....",".XX.....X......X............X...X...X....X........","..............X..X......X.X.........X.............","....X.X.....X......XX.............X...............",".X..........X....X...XXX...X..X...X...............","............X...............X........X.X..X.X....X",".......X.................X..............X....X....","...XX......X.X.....X..........................X...",".................X..................X..........X..",".......XX...............X..................X......",".......X.................X..........X.......X...X.","......................................X...........","........................X..........X..X.....X.....","........X.X.......X...X.....................X.X...",".X...X...X.....................X..................","............................X....X......X.XX......",".......XX..........X.......X.X..........X......X.X","..........X......X......X.............X..XX...X.XX","......X....X....X....X............X...............",".........................X........................",".......X..........................................",".................X.X......X..X......X.............",".....XX..............X..................X........X","....X..............X..................X...........","..............................X...................","......................X..................X........","X.X...................XX.X...........X.........X..",".....X....X......X...........X.X..............X.X.",".......X......X...................................","...........................X.X.........XX.......X.","...........X.......X...XXX.X.....X................","X........X...X...........X..............X...X..X..","...............XX...X....................X....X...",".X...........X.X...X..........X...................","...X....................X....XX............X......","X...X.X.................X...............X.........","..........X.......X........................X......","...X..X...........X.....XX..X....X.........XX.....",".XX......................X.....X..................","X.................................................",".......X....X.......X.......X.....................","...........X...................X.XX....XX.X.......","......XX...........X.X...........X...X.....X.X.X..",".......XX.....X.......X..X............X......X....","...........................X......................","X........X..............X...X..X.......X..........","..................X...X.X...X................X....","X..........X...X....................X.....XX......"}

    Returns: 447

  19. {"...X...X....X.X....X..XX..........................",".X..X...............X...X................X..XX....","..........................X.....X.................",".......X...X...X..X.............................X.",".....X......................X.....................",".......X.........X....X..X..X........X......X....X","............X.......X.X...............X.....XXX.X.",".............X....................................","...........X..X..X..............X........X........","...............................X....X..X....X.....",".....XX.........X.......................XX.....X..","..........X.........................X...X.......X.","..X...............XXX...X................X...X....","X..X.....X.X.........X......X........X.X..........","..X.............X..X............X.....X..........X",".....X....X..............X......X.......X.........",".................XX.X.X.................X...X.....","..X.........XX....X..........X......X.............","........X.........X......X............X......X....","...XX.............X..................X......X....X","...X..........................X...X...............","........................X...X.................X...","X..X............................................X.","................................XX.....X..........","...X....XX.X............X...X.................X...","..X.........X......X......X.........X.............","..........................X..X....................","..............X.....................X........X....","........X.X...X.X............X....X...XXX........X","....X..................X..........................",".....X...................X..XXX.....X........X....",".............................................X.X..",".X................................X...............","..............X........XX.......X..X....X.........","...........X...........X............X...X......X..","...................XX.........X.XX................","....X..X...X.....X......X.......X........X.X......","...X...X....XX............X.......................","..................X.........X......X.......X....X.","..X.........X...XX.........X.....X................","...........X...X.....................X............","................X........................X........","..XX..X...X...X...X........................X.X.X.X","..............X...................XX..............","..X..........X.......................X.X..........","..........X................X...........X......X...","..........X.X......X.X........X.X....XX..........X","...........X.....................X.......X..X.....","......X..................X.X..........XX........X.",".......X.....X..X......................X......X..."}

    {".X............X.X.....................X........X..",".............XX........X.........X..X.............",".X....X...........X.....................X......X..","......................X........X..................",".X..X......X...XX.....X.........X.......X.........",".XX.........X..X.............................XXX..","....X............X.X..X................X..........","....................X......X..X..XX.............X.","..............X..XX................X...........X..","..........X............X.X.....X............X.....",".......X...........................X......X.......",".......................................X.......X..","........X.......XX.......XX.................X.....","..............X....X............X.................",".X....X......X.......X.........X..................",".......X....................X.....................","........X.....X.................XX...............X",".X..........X.............X..X....XX.....X........","...............................X.......X...X......",".X..XX...................X..............X........X","........................X..........X..............","..................X........X..X........X........X.",".X............X.....................X.....X...X...","...................X..................X.....X.....","....X.X.....XX.............X..X.........XX.....X..","...X....X.........X................X.........XX...","...............X.........X..X........X......X.....",".X...................X.....X.....X.....X..........","...........X.......X...........X.X............X...","..........X.........X.............................","..X.XX.....X...X....X...........X.....X...........","....X........................X..X...X..X.X.X.X.X..",".X.................XX........X....X...............",".X..........XX.............X.......X.XX........X..","...X..X...............X..........X...........X....","X...............................X.........X.......",".........XXX..................X............X......","...X....X.X...........X........X.......X..........",".X..X..X...................X.X....................","...X.X........X..X......X..........XX..........X..",".........................................XX...X...","..XX...X...X......X....................XX.....X...","X..................................X..............",".............................X....................","......X.......X..................X...............X","........................XX..............X..X......","........................X........XX....X..X.......",".........X................X.X.....................","....XX..XX.....X.....X.X....X.....................","...X...X....X........XX.......X...X..X............"}

    Returns: 466

  20. {"...X.X..........X.......X..................X......","...............X.............X.....X..............","......X..................X........X.X..X..........","......XX..............X....X.........X............","................X.....................X.........X.","X..........X........XX............................",".....X.........................X..X...........X.XX",".X........X..XX.X..........X...........X.......X..","......................X.........X.............X...","XX..XX............................X.....X..X......",".....................................X.....X.....X","...X..........X......X......................XX....","..X.............X..................XXXX.......X..X","........X...................X.................X...","...XX.X..............................X..........X.","X..X...X.......X...X..........X...................","....X.X....................X.......XX........X.X..","..........X..........X....X.X.....................","....X.............................................",".......X.......................X..........X.......",".........X..............XX.......X............X...",".........X........X..............X........X.......","..............X.............XX.....X........X....X","..X....X...X..........X.X....X....X...............","......X..X.......X.....X........X..X.....X.....X..","..............X...................X.........X.....","..X..............XX..............X........X....X..","...................X...X............X......X......",".....................X.................X.........X","....X.................X.........X.................","................................X...........X...X.",".XX...............................................","..............X..............X.X.....X............","...............X............X.......X......X.X....","XXX....X.....X....X..........X....................",".X.......X..X..........X......X..X......X.....X..X",".X..X................XX....................X......","...XX..X..........X....X.....X..X.................",".X......X....X......X.......X................X....",".........X...X..X.X..........X......X.............",".....X...X.X......X...............X.X.............","............X......................X.......X......","......................X............X....X.........",".X.....X.........X...X.X..........................","....X........X................X...............X...",".X..X............XX..........XX..................X","........X............XXX..........X........X......","...X.............X......XX.X.X..............X.....",".........X...........X.........X.......X.X........","......X.X....X.......X...X.X......X..............."}

    {".X............X.....X......X......................","........................X....X.....X..X...........","..............X.............X......X............X.","..X........................XX..................X..","......X.X.....X....X....X.........................",".......X........X......X..........................",".............XX.....XX............................","X...X....X...X.XX.........X.......................","........XX........X.....................X.........",".X............X..X...X...X..X.X........X....X...X.","..........XX..X............X.X.XX..............XX.","..................................................",".....................................X..X.X.X.X...",".............X..X........X....................X...","..........X.X........................X..........X.","X...............X....................X.....X......","..............X................X......X......X....",".X............................X..........X........","........X.....X........X......XX.............X....",".X...........................X......X.X.X..X.....X","X.......X..X.........................X...X.....XX.","...X................X...X....X........X...........","....................................XX........X...","..............X..X..X..X......X..X.......X...X....",".......................X..X..X.X.X................",".....................................XXX..........","....X...X........X..X..X.X........................",".........................X......X...X.............","X....X.X.X...................XX.................X.",".....X.................X.X......X.....X...........","......X....X................X..X.............X....","......X.......................XX.....X............","...X....X..X.X..................X........X......X.",".................X......................X.....X...","X..X..X.X....X.................X..................",".............................................X..X.",".....X............X.X.............................","......................X...........X...............",".X.......X..X........X...X.X....X...X.............","........................X.....X..........X....X...","........X........X..........X....X....X......X....","..........................X..X......X.........X...",".....X.........X.............X....................","......X......X...........................X........",".............................X.......X............","X...................X....................X.....X..",".X...........X..........................X..X.X....",".................................X...........X....",".................XX......X.X..XX..........X..X..X.","..............X.........X.....X...X........X......"}

    Returns: 454

  21. {"....X........XX.X............................X....",".......................X..........................","X........X.XX.....X...........X.........X.X.XX....","...............................X....X.............",".X...........X........X........X.............X....","....X.............X.....X.....X.................X.","......X............X.............X................","X..X....X......................................X..",".X........X................X......X.....X.X..X....",".....X....................................X.......",".....XX.......X....................XX.............","...................................X..............","...................X..............................","................X....X..........X....X............","...X.....X....X......X..........X.....X...........","...........X............................X.......X.","...X.............X.............X....X.....X...X.X.","...X..........X.....X.....X.......X.X..X..........","..X....X............XX..X.............X...........","..........X....................X.X................",".X.....................................XX.........","..X..........X.....X.............X.X..X.........X.",".X........X..........XX......................XX...","....................X..X...X....X.................",".X.....X....X.....X...............................",".................................X..X............X",".........X..XX........XX..........................",".X.............X.X....X......X.............X......","..X.................X.X.............X.....X.......","..X......X.................X.XX..X................","............................X..............X......","....................X.XX.....X.X.........X........","..X.........................X......X.X...X........",".....X............................................","......X...X..XX.................X.................",".X.........X..X...X...X...................X..X....","........................X............X.X..........","........X...........X....X...........XX.X.X.......",".............X..........X........X................","....X....X.......X...........XX............X....X.",".........X....X...........XX.......X.............X","..X........XX...............X............X........",".X................XX.X..........X.................","...........................X......................",".........X.X...X.............X....................","..X................X..................X...X......X",".................X..X........X......X..X.X.XX...X.","......X..................XXXX.X...........X....X..","........X......................X................X.","...........X.....X......X..................X......"}

    {".........X..X............X.....X..X......X........","...........................................X......","............................X................X....","..........X.X............X............X...........",".........................X..X.........X...........",".X........X....X.....X.....X......X.........X....X","XX...................XX...........................","....X.............X...............................","..................X....XX.X...X...X..........X....","......X.............X.............................","..............X.....X.......X........X........X...","......XX.X...X...........X..X......X..............","X.X.............X....XXX.......XX............X....",".X....X...........X.....X.XX.....X.X.X.....X.X....",".........................X..........X...X......X..",".....................X...X.....X...........X......","X.........X.........X......X.......X........X.....",".........XX..............X................X.......","....X..X.......X..............X................X..","................X..........X......................","X......X............X...................X......X..","...X.........X...........................X........",".X.......X................X......X......X.........","...........X.............X..........X.X.X...X.....","................X.....X..................X........","X...............X....X..X..X..X..........X...X....","..X.....X.....X.........X......................X..",".....................X........................X...","...................X....X.....X...XX...........X..",".........X..........X...X..........X......XX......","..........X.......X.....X..............X..........","....X....................X...X.....X..............",".......................X........X........XX..X....","...........XX....XX.....X.X...................X...",".......X.....................X....................","X................X.........X..X....X...X..........","........X...............X.X....X...............X..","..............XXX..X.....X.......X..........X.....",".....X.X..X.................................X.....",".........X..X..........X...............X..XX......","......X...........X...............................","X.....X....X.............X..............X.......X.","..X.....................XX..X.....................",".....X.........X.....X....X..........XXX..........","....X.........X........XXX.........X......X......X",".....X.X......X.X........X.......XX...............","............................X.............XX..X...",".............X.....X..............................","..........X..............X...................X....",".X..................X......XXX...................."}

    Returns: 443

  22. {"X.X......................X......X.................","X.X...............X.......X.......X....X..........","...........X..XX....................X.X...........","..X................X..X...X.....X...X.............","X.X..........X...X.......................X........",".........X.X......X...X...........X...........X...","...X.....................X...............X........","............X...XX...XX..X..X.....XX..............","..............X.......................X.X.........","....................................X.X...........","......................X.......................X...","..........X............................X..........","............X...XX...........X....................","....................X.....X...XX...X......X.......","...........X........X.........X.....X.....X.......","........X.......X............................X....","........X........X..........X.X.X......X......X...","............XX.X..........X.....XX...X............",".....X..........X.......X.........................","......X.X...........X..XX.......X.................","..X........................X.....XX......XX.......","X.........XX.....X.X....................X...X..X..","........X..X.........XX...............XX..........",".......X.......X......XX............X..X..........","..X....................XX.....X......X..X.........","X...X....X.............................X..X.......","................XX................................","................X.......X........................X",".......X.............XXX.......X.............X....",".....X..X......X.................X................","...........X.........X...X..X..........X.......X..",".XX..................X.....X...X.X....X....X......",".X..............X..X..........X...................",".X.........X...X............X....X..............X.","...X...X..XX..X..X.....X..X..................X....","..X.X........X....X...............................","..X.X.X.............X...................X........X","..X......X.X..........X.........XX...........X....","X.......X..............X....X..........X..........","........................................X........X","...........X...X.............X..........X..X....X.","....X...............................X.......X.....","..................X...........................X.X.",".............X.......X................X......X....",".......X......................X.....XX........X.X.","...............X..X.X..............X......X.......","........X...............X.X...X..X.........X......",".......X.................X......X...X........X....","........X......X..X........X.....X.........X......","....X............................X.X.....X....X..."}

    {"...X................X.......................X.....","............X..X......X..X.................X.....X",".....X...X.........................X.......X......",".XX........X.......X..................X...........",".......X.................X..X..........X.X........","..X......X.....X.........X.................X.X....",".X.....X........X...............X..X......X.......","......X.....XX.X....X..........X........X.......XX","......X..XX...X.......X..X..X....X.....X..........",".X.....................................X...X......","............X.....................................","........XX.......X...X........X.....X.............","............X...................X.......X.........","X.......X...........X.............................","............................X.................X...","................................X......XX.......X.","...................X.......X.......X....X...X.....","....X...............X....X.X....X.........XX..X.X.","..X..X...X.....................X.............X....","X.X...........X........................X.....X....","..X...................X...X.X...X..X.....X......X.",".X..........X..................X.............XX...","..X......X.X....X......................X..........",".....X.....X...X................................X.",".....X............X.......X.X.....................","...........X..............X................X....X.","...........XX....XX...........X..................X","X..........X.....X......X.........................","....................................X....X........","..X.X..X........X...X.......X.X......X............","..X..............X.............X.......X..X.X...X.","..................................X...X......X.X..","..X.....X.X..................X......X.........X...","X.........................X.......X.........X.....","..................X...........................X...",".................X.X.....................X........","X..X..............................X...............","X...............X.....X......X...X.X....X...X.....",".X..............X........X...X..........X.........","....................X...X..X..X.............XX....","X.........XX....XX.X........................X..X..","XX..X............X.X..................X.......X...","............X.X.X...............X...............X.","....X.............X............X................X.","..XX...........X.......X.............X............","....................X.X....X....X........X........","..................X................X......X.XX....",".....X....................X.......................","X.....X....................X........X.............","..X...........X...............XX........X........."}

    Returns: 470

  23. {"XX..", "X...", "XX..", "X..."}

    {"XXXX", "X.X.", "....", "...."}

    Returns: 6

    Note that you can also flip the panes, not just rotate them.

  24. {"XX..", "X...", "XX..", "X..."}

    {"XXXX", ".X.X", "....", "...."}

    Returns: 6

  25. {"XX..", "X...", "XX..", "X..." }

    {"XXXX", "X.X.", "....", "...." }

    Returns: 6

  26. {"X.", ".." }

    {"..", ".X" }

    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: