Statistics

Problem Statement for "HexagonPuzzle"

Problem Statement

Cat Taro has a triangle board divided into hexagonal cells. The board contains N rows numbered 0 through N-1 from top to bottom, where the i-th row contains (i+1) hexagonal cells numbered (i,0) through (i,i) from left to right. For example, if N = 4, the board looks like the picture below.



Each cell contains a token. Rabbit Hanako locked some cells so that tokens in those cells can't be moved. You are given a String[] board containing exactly N elements. For all i between 0 and N-1, inclusive, the i-th element of board will contain exactly (i+1) characters. If the j-th character of the i-th element of board is 'X', the cell (i,j) is locked. If the j-th character of the i-th element of board is '.', the cell (i,j) is unlocked.

Cat Taro can perform the following operation an arbitrary number of times: Choose three distinct unlocked cells A, B and C. These three cells must have a common vertex. Move the token in cell A to cell B, the token in cell B to cell C and the token in cell C to cell A.



Return the number of different board states he can achieve by performing operations as described above, modulo 1,000,000,007. Two states are different if there exists at least one token that is placed in a different cell in one state than it is in the other state.

Definition

Class:
HexagonPuzzle
Method:
theCount
Parameters:
String[]
Returns:
int
Method signature:
int theCount(String[] board)
(be sure your method is public)

Constraints

  • board will contain between 1 and 50 elements, inclusive.
  • The i-th (0-indexed) element of board will contain exactly i+1 characters.
  • Each character in board will be '.' or 'X'.

Examples

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

    Returns: 3

    Example from the problem statement. He can achieve the following three board states.   

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

    Returns: 9

  3. {"."}

    Returns: 1

  4. {"X"}

    Returns: 1

    Taro can't perform any operation.

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

    Returns: 20160

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

    Returns: 108

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

    Returns: 261547992

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

    Returns: 1

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

    Returns: 3

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

    Returns: 1

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

    Returns: 3

  12. {"X", "..", "X.X", "XX.X", "XXXXX", "XX.X.X"}

    Returns: 3

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

    Returns: 1

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

    Returns: 697067110

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

    Returns: 1

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

    Returns: 769595906

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

    Returns: 12

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

    Returns: 761580755

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

    Returns: 1

  20. {"X", ".X", ".XX", "X...", "....X", "XX....", "X..X.X.", "X..X..X.", "XX...X..X", ".....X.XXX", "XX...XX..XX", "XXXXXXX....X", "XXXXXX....X..", ".XXXXXXXXX.XXX"}

    Returns: 921688770

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

    Returns: 324852642

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

    Returns: 9

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

    Returns: 3888

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

    Returns: 1

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

    Returns: 607228433

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

    Returns: 697080940

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

    Returns: 888661612

  28. {".", "XX", ".XX", "XXXX", "XXXXX", ".X.XXX", "X..XXXX", "XXXXXXXX", "XXXXXXXXX", "XXXXXXXXXX", "XXXXXXXX.XX", "XXX.XXX.XXXX", "XX.XX.XXXXXXX", "X..X...X.XXXXX", "XXXX.XXXXXXX.X.", "XXX.XX.X.XXXX.XX", "XXXXXXXXX.XXXXXXX", ".XXXXXXXX.X.XXXXXX", "XXXXXXXXX.XXX.XXXXX", "XX.XXXXXX.XX..XXXXXX", "XXXXXXXXXXXXX..XXXXXX", "X...XXX.XXXXXXXXXXXXX."}

    Returns: 36

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

    Returns: 1

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

    Returns: 108

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

    Returns: 581326951

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

    Returns: 945828967

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

    Returns: 814908484

  34. {"X", "XX", ".X.", ".XXX", "..XXX", ".X....", "X.X...X", "..XXX.X.", "X.XX.XX..", ".XXXXXXXXX", "XXXXXXX.XXX", "X.XXXX....XX", ".XX.XXXX.XXXX", ".X.XXX.XXXX...", "XX.X.XX...XX...", ".XX..X.XXXX.X...", ".XXXX.XX.XXXXX..X", "XXX.X.X.X.XX.XXX..", "XX..X..XXX..X.XXXXX", "XX..X.XXXXX.XXXX.XXX", "XXXXXXXX.XXXXXXXX....", "XX.XXX.X.XX....X.XXXXX", "X..X..X.XXXXX..XX.X.XXX", ".X.XXX.X..X....XX.XXXX..", "X.XX..XXXX...XXXXXXXXXXXX", "XX.X..XX.XXXX.X..X.XXXXXXX", "XXXXX...XXX.XXX.XXX...XXXX.", "XXXXX....X...XXXXXXXX.XXX..X"}

    Returns: 73207811

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

    Returns: 165302245

  36. {".", "..", "...", "....", "XX..X", "..X...", "XXX....", "......XX", "X..X..X..", "....XXXX..", "..XXXXX.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...", ".XX..X....XX......X....", "X......X......X....X..X.", ".....XX.X.XX......X.....X", ".......X.....X.XX.X..XX..X", "X..X....X...X...XX...X.XX..", "..........X.X.........X.X.X.", "X.......X....X.....XX.....XX.", "..X.X...........XX..X......XX."}

    Returns: 736295450

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

    Returns: 460746115

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

    Returns: 865786372

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

    Returns: 53221257

  40. {".", "..", "...", "....", ".....", "......", "......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..."}

    Returns: 387804303

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

    Returns: 9

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

    Returns: 233646912

  43. {"X", "..", "...", "....", "XX..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........", ".......................", "..........XX.........X..", "...XX..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...XXX....X.X.......X....", "............X.......XX...XX.....X.", "X.......X.X.....X................X.", "..................X.............X...", ".X.................X.....XX.........X"}

    Returns: 640985981

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

    Returns: 392018217

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

    Returns: 81

  46. {".", "..", "X..", "....", "...X.", "......", ".......", "X.X.....", ".........", "X.........", "X.......X.X", "...X......XX", "....X...X....", "..X..X..X.....", "..X....XX......", "...X.......X....", "..XX.............", "..X...XX..X.......", "......X............", ".....X..X.XX......X.", "....................X", "..............X.X.....", "X.X........X..XX.......", "...XX.....XX......X.....", ".XX.X.........X.XX.......", "......X.X..X.....X........", ".............X.............", ".................X.XX....XX.", "....X.........X.X.......X.X.X", ".....X......X..X..............", "..........XX.............X.....", "....X.....................X.....", "...........X..XX......X........X.", ".X..................X......XX...X.", ".....X...X.X.....X.XX.X..X..X.....X", "..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.......XX................"}

    Returns: 721906264

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

    Returns: 434413970

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

    Returns: 904626746

  49. {".", "XX", "...", ".X..", "...X.", "X.....", "X.X..XX", "X.XXXXXX", "XXXX.XX..", "X.X.X.XXXX", "..XXXXXX.XX", "XX.X.X.X.X..", "..X.XXXXXX...", "X.XX.X.XX..XX.", "X.XXX.XX.X..XXX", "XXXX.X....X.XXX.", "..X.XX.XXXXX..XX.", "X.XXXXX.XX.XX.X.XX", "XX.X.XX.XX.XXXXXX.X", "X...XXX...XX.X.XXXXX", "XXXX.XXXXX...X..XXX..", "XX.X.X..XXX...X.XXXX..", ".XXX.X.X..X.X.X.XXXX.XX", "XXX..X.X.XX..X..X.X...XX", ".X.XXXX..X.X..X.XX.X..X.X", "X.X.X..X.X..XXXXXX.XX..XXX", "XXX.X........X...XX.XX..X.X", "XX.XXXXXXXXXXX.X.XXX...XX..X", "XXX.X..XX..XX.....XX..X...XX.", ".XXXX....XX....XX....X.XX.XXXX", ".XXXX..XXXXXX..X.XXX...XXXXXXX.", "..X.XXX..X.X.XX..XXXX.XXXX..XXX.", ".XX..XXXXX.X...XXXX.XXXXX..X..XXX", "XX...XX...XXXXX....X.XX.X.XXXXX..X", "X..X.X..X.XXX.XX.XXXX..XX.....X.XX.", "X.X..XXX.X.X.XXXX..XX..XXXX.X.X.X.XX", ".XX.X.X..X.XXXX..XX.X.XXXXXX..XXXX.X.", "..X.XX.XXXX.XXXXXXX.XXXXXXXXX.XXXXX.XX", ".XX.X.XXX.XXXXX.XXXXXXXXX.XXXXXXX.X.XXX", "..XX..X.XXX.XXXXXX..X.XX...X.XX.X.X.XXXX", ".X..X.X...XX.XXXXXX.X.XXXXXX...XXXX.XX..X", ".XX.XX.XXX..XXXXXX...XX.XXXX.....X.XXXXXX.", ".XX.XX.X..X.X..X.XX.X.XXXX..X.XX.XXXXXXXXXX"}

    Returns: 493101474

  50. {".", "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", ".XX...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....XX........", ".............................X.X......XX", "X.............XX.....X................X..", "...XX..........X.X.........X.....XXX......", "X..X.........X..X............X...X.....X.X.", "....X..X..XX..X...X..X.....................X"}

    Returns: 540477249

  51. {".", "..", "...", "....", "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....XX..X...", "......................................X....", "..........X......X.............X..X.........", "........................X...................."}

    Returns: 326716765

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

    Returns: 32952036

  53. {".", "X.", "...", "....", ".....", "......", ".......", "..X.....", "X........", "..X.......", "...........", "............", ".....X.......", "..............", "..X............", "................", ".............X..X", "..........XX......", "..X....XX..........", "...X.......X........", "..........XX.....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", "...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................", ".....................X.............X..........", ".......................X......................."}

    Returns: 676243708

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

    Returns: 754071351

  55. {".", ".X", "..X", "....", "....X", ".XX...", "X....X.", "........", ".X.X.....", "X.......XX", "...X..XX...", "..X.X.X...X.", "XX...........", "..XXX........X", "...........X...", "XXXX..X.X....X..", "X.X..........XXX.", ".............X..X.", "X..XX...X..X.X..X..", ".......XX.X......X.X", "X.X.XXX..............", "....X.X..X.XX.....X..X", "...X...XX...XX..X..X.X.", ".......X...X....X...XX..", "..X..XXX.XXX..X.......X.X", "...X.XX.XX.X.X..X...X...X.", "XX....XX.XXX...X..X..X.....", "..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..", "..XX..............XX.....X..X...", ".....X.X...XXX.X...X.....X....X..", "......XX..X..X...........X.XX.X...", "..........X.X....X.XX.....XXX..X.XX", "..XXX....X.....X.X....X.XX..........", "X..X...X...X..XX.....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....XX.X..X...XX..X....XX.......X", "..XX.X.X.X..X...X........X..X.X.XX..X.X.X", "X..........X..X..XX.X.X..X.X.X..X....XXX..", ".....X...X.X.XX.X..X..X...X.X...XX......XX.", "XX.X..X.XX..X...X...XX..X..X.X.X......X.....", "..X.......XXXX.......XX..X...X..X........X...", "..X.......XX...X....X..X.X.X.X...XX..X....X.XX", "X...........XXXX........X.X....X..X....X.......", "...X.....X..XXX.X...XXXXX....X..X....X.X.X...XX.", "....X....X...XX.X............X.X.XX.X........X.X."}

    Returns: 893528064

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

    Returns: 108011382

  57. {".", "..", "...", "...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...............XX...", ".............................................", ".........X....................................", "...............................X...........X...", "....X.......................X...................", "....XX.........X..........X....X.........X.......", "...................X........X..................X.."}

    Returns: 373819940

  58. {".", "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..", "..XXX.X.XX....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...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..."}

    Returns: 871768074

  59. {".", "..", "...", "...X", ".....", ".X....", ".......", "XX......", ".........", "..XX.....X", ".X.....X...", ".X.......XX.", ".......X.X.X.", ".....X.X......", "..........XX...", "................", "....X........X...", "...............XX.", ".X....X.X.....X....", "..XX......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....X.X.X........XXX....X....", ".................X.....X.....X.", "........................X.......", ".....X.X..........X.......X.....X", "X.................................", "......XX....X..............X....XX.", ".....X.XX.X.........................", "...X..X..X.............X..X..........", "..........X......X.XX..X..............", "..........XX.....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..............", "...XX...X.........XX...XXX..X......XX.......", "..X.......X..X....X...............X...X......", "XXX..............XX.......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...."}

    Returns: 353963159

  60. {"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.........", "..X.......X......X......", ".....X.X..X..X...X.X..X..", ".X.....X.X.X..........XX..", ".X.......X.....X..X..XX....", "................XXX.X.......", ".X.X..X...X...X....X.......X.", "X...........XXXX.....X.X......", "XX...X..............X...X..X..X", "...........X.X...XX..X......X...", "....X.........X.XX........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....XX...", "X.X.....X.....X.X..X.X.....XXX.....X....", "......X......X...X.........X.........X..X", "..X.....X...X.X...X...X...X.....X.........", "........X..XX..XX..X.........XXX.X...X.X...", "X...XX.................X.X........X....X.X..", ".X.......X........X...X...X....X....X........", ".XX...X....X..........X....XX..XXX..XX...X...X", "..XXX.........X.XX....X......X..XX...X.....XX..", "..XX..X.X......X....X...X......X.X...X.XX..X.XX.", "..XX..XX..........XX...X.X....XXXX..X....X..X....", ".....XX.................X...XX....X.X....X........"}

    Returns: 308568894

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

    Returns: 338882155

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

    Returns: 906840936

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

    Returns: 8539660

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

    Returns: 742325241

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

    Returns: 221259548

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

    Returns: 254642171

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

    Returns: 8853139

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

    Returns: 208433838

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

    Returns: 714446672

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

    Returns: 159652387

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

    Returns: 724404028

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

    Returns: 170061120

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

    Returns: 14580

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

    Returns: 3

  75. {"X", "XX", "XXX", "XXXX", ".XXXX", "XXXXXX", "XXXXXXX", "XXXXXXXX", "XXXXX.XXX", "XXXXXXX.XX", "XXXXXXXXXX.", "XXXX.XXX.XXX", "XXXXXXXXXXXXX", "XXXXXXXXXXXXXX", "XXXXXXX.XXXXXXX", "XXXX.XXXXX.X.XXX", "XXXX.XXXXXXXXXXXX", "XXXXXXXXXX.X.XXX.X", "XXXXXXXX.XX.XXXXXXX", "XXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXX.XXXX.XX.XXX", "XXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXX", "X.XXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXX", "XX.XXXXXXXXXXXXX.XXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXX.XXXXXXXXXXXXXXXXXX", "XXXXXXXXXX.XX.XXXXXXXXXXXXXXXXXX", ".XXX..XXXXXX.XXXXXXXXXXXXX.XXXXXX", "XXXXXXXXXXXXXXXXX.XXXXX.XXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXX.XXXXXXXXXXXX.XXXXXXXXXXXXXXX", "XX.XXX.XXXXXXXXXXXX.XXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXX.XXX.XXXXXXXXXXXXX.XXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXX.XXXXXXXXXXXXXXXXXXX.XXXXXXXXXX", "XXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X", "XX.XXXX.X.XXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX", ".X.XXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXX.XXXXX.XXXXXXX.XXXXXXXXXXXXX", "X.XXXXXXXXXXXXXXX.XXXXXXXXXXXXXX.XX.XXXXXXXXXXXXX", "XXXXXXX.XXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXX.XXXX"}

    Returns: 1

  76. {"X", "XX", "XXX", "XXXX", "XXXXX", "XXXXXX", "XXXXXXX", "XXXXXXXX", "XXXXXXXXX", "XXXXXXXXXX", "XXXXXXXXXXX", "XXXXXXXXXXXX", "XXXXXXXXXXXXX", "XXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

    Returns: 1

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

    Returns: 7265222

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

    Returns: 108

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

    Returns: 261547992

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

    Returns: 376605894


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: