Statistics

Problem Statement for "GravityPuzzle"

Problem Statement

Gravity Puzzle is a game played on a rectangular board divided into unit square cells. Each cell contains at most one box.

There are four buttons, labeled Left, Right, Up, and Down. You play the game by pushing these buttons (one at a time, in any order, each button arbitrarily many times).

At the beginning of the game, there is no gravity, so each box remains in its cell. The buttons control gravity: pushing a button turns on gravity in the direction given on its label. Gravity makes all the boxes fall in the given direction: whenever the cell next to a box in the given direction is empty, the box moves into that cell. Note that each time you push a button, all boxes immediately fall as far as they can in the given direction of gravity.

For example, if you push the button labeled Down, all boxes will immediately fall downwards until no more movement is possible. Thus, after you push the button labeled Down, within each column the boxes will move to the bottommost rows.

Below are two examples that show the effect of pushing the buttons labeled Down and Right from the same configuration of boxes. Boxes are denoted '#' and empty cells '.'.

...#                ....
.##.    'Down' ->   .#..
.#..                .###

...#                ...#
.##.   'Right' ->   ..##
.#..                ...#


You are given one particular configuration of boxes on the board in the String[] board. The elements of board describe the rows of the board from top to bottom. (I.e., board[0] describes the topmost row of the board, and so on.) The characters of board[r] describe the cells in row r from left to right, with '.' being an empty cell and '#' a cell with a box.

The configuration of boxes given in board is the desired final configuration. A starting configuration C of boxes is winnable if there is a sequence of zero or more button presses that changes C into the configuration given in board.

If the board has r rows and c columns, there are 2^(r*c) possible starting configurations of boxes, because each of the r*c cells is either empty or it contains a box. Please count how many of these configurations are winnable, and return that count modulo 10^9 + 7.

Definition

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

Constraints

  • board will contain between 1 and 50 elements, inclusive.
  • Each element in board will contain between 1 and 50 characters, inclusive.
  • Each element in board will contain the same number of characters.
  • Each character in board will be '.' or '#'.

Examples

  1. {"#...", "....", "...."}

    Returns: 12

    The winnable configurations are precisely the 12 configurations that contain exactly one box: you can push 'Left' then push 'Top' and that box will be in the top-left corner.

  2. {".#."}

    Returns: 1

    This time we only have one solution: {".#."} itself.

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

    Returns: 4

    We have these 4 solutions: #. ## {} ## .# {"Down", "Left"} .# ## {"Left"} ## #. {"Down"}

  4. {".##", "..#", "..."}

    Returns: 72

  5. {".##########.", "............", "............", "............", "............", "............", "............", "............", "............", "............"}

    Returns: 999999937

    Don't forget mod.

  6. {"."}

    Returns: 1

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

    Returns: 767661144

  8. {"...#.###.#########.#####.#.#..#######.######","####.#.#..#######.##########..###.#..#######","########..###.#..#######.####..####.#######.","####.####..####.#######.##.#######.###.#####","###.##.#######.###.########..#.#####....#.#.","#######..#.#####....#.#.####..#####..#####.#","#.#.####..#####..#####.###.#####.#.####.###.","##.###.#####.#.####.###.#######.#####.#.###.","###.#######.#####.#.###..#.#######.#######..","###..#.#######.#######...##.###.#.######.#.#","##...##.###.#.######.#.############.#.######",".#.############.#.######.######.####.#####.#","####.######.####.#####.#######.####.#.###.##","##.#######.####.#.###.##.##.##.###########.#","#.##.##.##.###########.#.###..#.#.#.########","##.#.###..#.#.#.##########.#.######.#.##.###","######.#.######.#.##.#####.##.#.###..###.##.",".#####.##.#.###..###.##...#.#########..#####",".##...#.#########..######.###.##..#####.#.##","#####.###.##..#####.#.###.##..###.####.####.","#.###.##..###.####.####...############.##.##","###...############.##.####.#.##.##.####.##.#","#.####.#.##.##.####.##.##.#..##.###.##.###.#","##.##.#..##.###.##.###.######.###.##########","##.######.###.###############.#..#...#.#####","#########.#..#...#.######.####.########.#.#.","#####.####.########.#.#.##.######.##.##.##.#","#.#.##.######.##.##.##.#.#.######.#..####..#","##.#.#.######.#..####..##.##.#.#.....##.#.##","#..##.##.#.#.....##.#.#####...########.####.","#.#####...########.####.###.##.#####..###.#.","###.###.##.#####..###.#.#.####.##..#.#######","#.#.#.####.##..#.########.##.###.#.###..####","#####.##.###.#.###..########....###.###.####","########....###.###.#####.##############.###","#####.##############.#########.#.##.########",".#########.#.##.##########.###....###.######","######.###....###.###########.##.######.##.#","#########.##.######.##.###..###########.##..","##.###..###########.##.....##.##.####..##.#.","##.....##.##.####..##.#..#########.##.##.##.","#.#..#########.##.##.##.#####.######.#######",".##.#####.######.########.#######.####.##.#."}

    Returns: 1

  9. {"#..##","##.##","#####","#####","##.##","#..#.","#####","####.","##.##",".##.#",".####","####.","#####","###.#","###.#","#####","#.#.#","###.#","#.##.","##.##",".#.##","#####"}

    Returns: 1

  10. {".#.....#.###.#.#####..#.","..#...#.##.#...#.......#","...#...#.....#.......#..",".#...##....##....#.###.#","##.#..#...#..####......#","...#....#.#..#...##..#..",".#....#.#....#.#.#..##.#","##.#..####.####.#####...","#...#..#.##..###.#...#..",".#....#..###..#......###",".#####..#.##....##.###..","##...............#......",".......#...###..#..###..","##....##.##..#.........#","...##..##...###.....#...","#......#..#.#..##...#...","#...#...#.#.....#.#.....","......##..#........####.","###..#.#.....#......#..#","#..#.#....##.........#.#",".#.#.##....#......#...#.","..#..##.#.#.#...##.....#","...##...#....#..#.##.#.#",".#.#.######....#.##..#..",".#......#.#..##..#..#.##","#.##.#.#..##..#..#..###.","###..##....#......#.##.#","##.##..#.#.....#..#.....","....#.####.#...#..####.#","##.#..#.#..##.#.##...##.",".##...#.#....##......#.#",".#.##.#..#.#.#.#..#...#.","..#.....##..#...#....#.#",".#.#......####....#..###",".#######..##............"}

    Returns: 1

  11. {".##.###.####...####.#.######..##","#.######..##..#.####.#.#..#..###",".#.#..#..####.#.############.###","########.#####.#######.###.#.###","##.###.#.########.#.###...####..","###...####..##########...#######","##...#########..######..###..###","##..###..#####..#.###.#..#######","#.#..#######.#.#.##.....#.##..#.","....#.##..#.#.##.###.######.##.#",".######.##.##.#########.#...####","###.#...###########..#...#.#####",".#...#.#####.###...#.#####.##.#.",".#####.##.#...####.###..#####..#","##..#####..#.###..###.###.######","#.###.########.##.#.#.###.#..#.#","#.###.#..#.##.#.##.#.###.#..###.",".###.#..###.###.####...##.##.###","...##.##.############.##########","#.##########.#.####.###..##.####","###..##.####.....##.##.####..#..","##.####..#...#..##.#.###..##.##.",".###..##.##...#..######.####.###","###.####.######.#..#.##.##.#####",".##.##.#######.#########...#.###","####...#.####.####.##.######.##.","#.######.##.#####.##.#.###.#.#.."}

    Returns: 1

  12. {"#.#.###","#######","####..#"}

    Returns: 1

  13. {"###.###.######","####...#.#.###",".##.#.######.#","#####.###.####","##.###.####..#","#.#######.##.#","##.#..#.#.#...","####.#...##.#.","#####.#.#.##.#","##..##########","#####.##.##.##","..#.####.####.","#.#########.##","#.###.#.###.##","#.############","#.#.##.....###","#.####.##.####",".#.#..##.#####","..###..#..#..#","##..#.#####.##","###..#########","#...#########.","#.#.##..##..##","#####..#.#.#.#","##########.###","#######.##.#.#",".####.####.#.#","####.#.#.#####","###.#######.##","...##..####.##","#..##..##..#.#","#.#..#########","###.#.##..#.##","####..#####.#.","#.###..##..###",".#....#.#.####","#.###.#.####.#","#.############",".#############","######.#######","##.#####.####.","######.#..####","#.###########.","####.#..####..","####.######.##","#####.###.##..",".#############","....####.#####","###.###.######"}

    Returns: 1

  14. {"#####",".#.#.","#####","#.##.",".....","#....","..##.","####.","###.#","#....","#...#","#####","#..##",".#..#",".###.","##..#","#.#.#","#####",".#.##","#####",".#.##","###.#","###..",".##..","..##."}

    Returns: 1

  15. {"#...#.......#........#...##....##..#.#.#.....#.##.",".#...##....##..#.#.#.....#.##.....#...#.#.#....#.#",".....#.##.....#...#.#.#....#.#.#.##.....#....##...","#.#....#.#.#.##.....#....##............#.#.#.....#","#....##............#.#.#.....#.#...##.#.#.#.#..###",".#.#.....#.#...##.#.#.#.#..####........##.........","#.#.#..####........##...........#......#..##......","#...........#......#..##........#.##.......#...#..","..##........#.##.......#...#.............#.#..#..#","...#...#.............#.#..#..###........#..#####..",".#.#..#..###........#..#####.....#....#..........#","#..#####.....#....#..........#..#.................",".........#..#.................#...#..#..#...#..##.","..........#...#..#..#...#..##...#..#..#.#.##....#.","#...#..##...#..#..#.#.##....#.....##........#....#","#.##....#.....##........#....##...#.#...#.....#..#","....#....##...#.#...#.....#..#.#..#....#..#......#","#.....#..#.#..#....#..#......##........##....#...#","..#......##........##....#...#....#.#.##..........","#....#...#....#.#.##...............##.#.........#.","...............##.#.........#.....##...##....#....","........#.....##...##....#........#..#..#...#.....","#....#........#..#..#...#.......#.....####.#......","#...#.......#.....####.#..........##..##..##...#..","##.#..........##..##..##...#...#.#.##.............","..##...#...#.#.##.................#...#..#....#...","..............#...#..#....#...##............#.##.#",".#....#...##............#.##.#....#.#....#.##...#.","....#.##.#....#.#....#.##...#.........#.#.....##.#",".#.##...#.........#.#.....##.#......#....#...#....","#.....##.#......#....#...#.....#.#.#....########..",".#...#.....#.#.#....########....#....#.....##...##","########....#....#.....##...##.........#........#.","...##...##.........#........#.#......##..........#","........#.#......##..........##...............###.",".........##...............###....#..#####.########"}

    Returns: 1

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

    Returns: 1

  17. {"##","##","..","#.","##","#.","#.","##","..","#.","#.","..","..","..","..",".#","##","##","#.","..",".#",".#","..",".#","..",".#","##","#.","#.","..","..","..","..",".#"}

    Returns: 1

  18. {"......#...###.#..##...#...#.##.#.....####","..#...#.##.#.....####.##.#..##.#.#....##.","#.##.#..##.#.#....##...####.....#...##..#","...####.....#...##..#...#....#...##.#....","#...#....#...##.#....##....#...........#.",".##....#...........#..#..###..#.#..##.#..","..#..###..#.#..##.#...#....#..#.#.#..#...","..#....#..#.#.#..#......##...#.##.##....#","....##...#.##.##....#......#....#..###.##","#......#....#..###.##..##..........##.#.."}

    Returns: 1

  19. {"..",".#","..","..","..","#.","..","#.","..","..",".#","..","..",".#","##",".#",".#","..","..","..",".#","..","..","#.","..","#.","..","##",".#","..","..",".#","##","..","#."}

    Returns: 1

  20. {"###.#.#####.##.#..###..#.###.##","#..#.###.###.....#...######..#.",".######..#.....#####.#......#..",".#......#..##.#.#...#....#...#.","#....#...#..#.##.......#.......","...#.......#####.##.##..##....#","##..##....#..#.##...####.#.#.##","####.#.#.####..##.#####.#.#....","###.#.#.....#..##.#...#..###...","..#..###...##.##..#.#.#####..##","#.#####..##.#.#.#..#######..###","######..####.##.###.#..##..#.##","#..##..#.##.#######..#.#.#.#.##",".#.#.#.#.##..##..#...##......##",".##......##..##..#.######.#.###","#####.#.#######.####.####....##",".####....######.#..#..##.##.#.#","..##.##.#.######..##..####....#","..####....##.#...######.####.##","###.####.##.###.##.###...#####.","##...#####...#..##.###.#...####","##.#...####....#..##...###.###.","...###.###.#######.###.#.#.##..","##.#.#.##...###..#######..#.###","####..#.######.#....###.#.###.#","###.#.###.###.##..#.###.###....","###.###....#....#.#.##.#.##.##.","##.#.##.##...#..###...###..##.#","..###..##.#######.#.#.#..#.#..#","#.#..#.#..##########..#...##.##","..#...##.####.#.#.######.#####.","####.#####.#.....#.#.#.#..#.#..",".#.#..#.#......##........#.....",".....#.......####...####..#..#.","####..#..#.###..#.##.####.##.#.",".####.##.#.#..##.#.##.#.#######","#.#.########...#..#.......##.##","......##.##...###.#.#..###.##.#","#..###.##.##.####.##.####.###.#",".####.###.#.#..#####.#.#.###.#."}

    Returns: 1

  21. {"..........#...#...#...#....#...#.#","..#....#...#.#........#.##.....#..","..#.##.....#...#...............#..","...........#......#.#...#.....#..#","#...#.....#..##....#....#...#.....","....#...#.....#.#......#...#......","...#...#........#..........#.#....",".......#.#........#.....#......##.","....#......##.......#......#......","#......#.......#......##..#....#.#","..##..#....#.#.....#.......#....#.",".......#....#.....#...............","..............#...........#.......","......#.........##...#...#....#...",".#...#....#....###.#...........#.#","...........#.#....................","..............#..##.#..###....#...","#..###....#...##..............#...","..........#.............#..#..#...","....#..#..#..........####.##...#..",".####.##...#....###....#....###...","...#....###.....#####...........##","#...........####.......#...###.#..","...#...###.#..#.........#...#.#.#.","....#...#.#.#..#.#.....#.....#....","...#.....#..........#.......#.....","#.......#............##..#..##...#",".##..#..##...#...#...#........#.##",".#........#.##..#..#..........##.#","..........##.##...#...#..#...#...#","..#..#...#...##....#...#..#..#..#.","...#..#..#..#.........#..##.#....#","..#..##.#....#..##....#...###.....","..#...###........#.#......#..##...","......#..##.....#......#......#...","...#......#........#....#....#....","....#....#.....#.......#.........#","...#.........#....#..#.......#....",".#.......#......#.#.....#..#.....#","....#..#.....#....#......#..##.##.",".....#..##.##..#................#.","............#..........##.........","...##.....................#...##.#","......#...##.#..#.....##..........","..##.............#..#.............","#.............#....#.#..........#.",".#..........#...#..........#...#..",".......#...#....#..#...##.#......#","...##.#......##...#............#..","...........#....#...#..#......#..."}

    Returns: 1

  22. {".......","...#...","...###.","...#..."}

    Returns: 1

  23. {"##.#......#...#...#.##..","##..####...#.#......#.#.","#.#.###....#...#....#...","#...#......#......#.#.#.","#.#.###...#..##....##.##","#.##.##.#.....#.#...###.","###.#.##........#......."}

    Returns: 1

  24. {"...##..........",".##.###....#...",".#......#...#..",".##...#.#...##.","......##.###...","#.##....##.#..#","........#......","..#.#.#.#.#..#.","#..#..#.#......","#.#..##...#..#.","#.....##.......","..#..###.......","#...##.##......",".............##","...#..#....#..#",".#..........#..","..#.......#..#.","...##.##.....##","#.##.......#.#.","#..#......#..#.","#.#.........#..","..#...#...#....","...##..##..#.#.",".....#......#.#","#..##......####","#.........#...#","..#......#..#..","#.....#......##",".#....###......",".##....#.#.....",".#.##.#........",".......#....#..","#..#.#####.##..","..........#.#..","....##...##..#.","....#.#....##.#","....#.#.#......",".#.....###....#",".#...#....##.##","..##.##.....#..","####....#......","##....##..##.#.",".......#..#.#.."}

    Returns: 1

  25. {"############","############","############","############","..#####.#.##",".#####.#####","############","###.########","#######.####","######.#####","##.#########","###....#####","..####.#####","############","############","#.#.########","#####.######"}

    Returns: 1

  26. {".####.###..###..###.##..#..##.","##..#..##....######.##.###...#","##.###...#.#.##########..#####","###..#######.##.#######.####.#","###.####.##.###.##.##########.","#########.#.#####...#####...##","#####...####.#.#..#.########.#","########.##.#.##.#..#.#####.##","#.#####.##.#####.##.#######..#","#######..##.#.########.##.#..#","##.##.#..#.####..#.#..#####..#","..#####..###.####...###.##.###","###.##.#####..####..###..#.###","###..#.########.#.#.#.########","#.###########.#####....#..####","...#..####..#####.##.#.##.##..",".#.##.##..####....#.####.####.","####.####.#.###.######.##.####","##.##.#####.#####.#.#..#......"}

    Returns: 1

  27. {"#####.###..###..##"}

    Returns: 1

  28. {"..#......#.###..###.......#...#..##","......#...#..######.#.##..##...#.##","#.##..##...#.########.#...#.#..#.##","#.#...#.#..#.##.####.....#.#..#.###",".....#.#..#.###.##.#.......#....###",".......#....#####....#..#......#.#.",".#..#......#.#.#..#...#.......#.#.#","..#.......#.#.##.#..#...#....#.####","#...#....#.#####.##.#.....#.....#.#","#.....#.....#.######...#.......####","...#.......####..#.#..#####..###.##"}

    Returns: 1

  29. {"###################","#.#################","#.##############.##","#################.#","#######.###########","###############.###","##############.####","##########.####.###","#######..###.######","####.##############","##############..###","###.#####.#########","########.##########","#.#####.#..########","################.##","############.####.#","################.##","################.##","#####.###.###.#####","########.######.###","###.########.###.##","###################","####.##############","#################.#","#####.#########.##.","###################","#####.###########.#","####.##.##.##.#####","#########.#.######.","###################","##################.","######.#####.######",".#.################","#########.#########"}

    Returns: 1

  30. {".##..##...#####.##.#######.#####.#...#.##.##.#","######.#####.#...#.##.##.##..#.##......#....##","#.##.##..#.##......#....##.#.####..##...###..#","....##.#.####..##...###..###.##.##.#####...#.#","###..###.##.##.#####...#.##..#.#...###.##..###","...#.##..#.#...###.##..###.#####.#.##.#..###..","#..###.#####.#.##.#..###..###...#####.#.#.#..#",".###..###...#####.#.#.#..#...######.#..#.#..#.","#.#..#...######.#..#.#..#.##....##...#...##...",".#..#.##....##...#...##....#.##.##..######.##.",".##....#.##.##..######.##.##.#.####.#..#.####.","##.##.##.#.####.#..#.####.#########........###",".####.#########........####..#..#.#..#.#.##.##","...####..#..#.#..#.#.##.##.#..#.#.######.##..#",".##.##.#..#.#.######.##..#####...#.#####..#.##",".##..#####...#.#####..#.##.######..########.#.","..#.##.######..########.#....#####.##.######.#","###.#....#####.##.######.##.##.#..##....##.###","####.##.##.#..##....##.##########.##.##.#.###.","##.##########.##.##.#.###.###.##..#.##..##...#","#.###.###.##..#.##..##...#.##.##.#.###...####.","##...#.##.##.#.###...####..##.##......##..#.##",".####..##.##......##..#.##...#.#######.###.##.","..#.##...#.#######.###.##.#.####.#######..#...","##.##.#.####.#######..#...#..##.#.#...##..##.#","..#...#..##.#.#...##..##.#.###.#########..#...","..##.#.###.#########..#.......###..######..###","..#.......###..######..###.#.#.#.##.#..###..##","#..###.#.#.#.##.#..###..##..#.##########..#.#.","##..##..#.##########..#.#.##.#.#.#.##########.","..#.#.##.#.#.#.##########.#.##.#.###.##.....##","#####.#.##.#.###.##.....###.#######..#........","....###.#######..#........###.#.###.#..##.##.#","......###.#.###.#..##.##.#.##.####.#..#####..#","#.##.#.##.####.#..#####..######.##.....#.#...#","###..######.##.....#.#...#####.....####..##.##",".#...#####.....####..##.####..#...##..#..####.",".##.####..#...##..#..####.#.####.#####.####..#",".####.#.####.#####.####..##...##.#####.###..#.","###..##...##.#####.###..#.########..######.#.#","##..#.########..######.#.#...#.#.###....#..###","##.#.#...#.#.###....#..###.##..###..#.##..####","#..###.##..###..#.##..########..###..###.#..#.","..########..###..###.#..#.#.#.####.##..###...."}

    Returns: 1

  31. {"..#.#..#..#..........###.........####...##..#.",".###.........####...##..#...............#.##..","##..#...............#.##........#.##.##.#..#.#","#.##........#.##.##.#..#.#.#...#.#.....##.#.#.","#..#.#.#...#.#.....##.#.#.##......##..........","#.#.#.##......##..........#..##.##...###...##.","......#..##.##...###...##.#.#.........#.#....#","...##.#.#.........#.#....#.#.###..#...#..#.#.#","#....#.#.###..#...#..#.#.#.###...###.....#...#",".#.#.#.###...###.....#...#..#.#.#....##.......",".#...#..#.#.#....##........##..#.#.#.###...###",".......##..#.#.#.###...####.##......#.....##.#","...####.##......#.....##.##.#.##..#.##....##..","..##.##.#.##..#.##....##..####..#.....#.#..#..","..##..####..#.....#.#..#.....###...##.#...#..#","#..#.....###...##.#...#..#..#...###....#...#.#","..#..#..#...###....#...#.#.#.##..#....##.....#","...#.#.#.##..#....##.....#......##....###.#.#.",".....#......##....###.#.#.###..##.#.....##.#.#","#.#.#.###..##.#.....##.#.#.#.##.#.#......#....","##.#.#.#.##.#.#......#....#...#...#.....##..##",".#....#...#...#.....##..###.......#....##.....","##..###.......#....##..............#.##.#..#.#","#..............#.##.#..#.##.#.#.#.##...#..##.#","#..#.##.#.#.#.##...#..##.#.......#..####......","..##.#.......#..####...........#......#.....#.","...........#......#.....#.####.#........#..#..","....#.####.#........#..#.......#.##.....#.#..#","#..#.......#.##.....#.#..###.#..#.####..#.....","#.#..###.#..#.####..#.....#..#..##..#..#......","#.....#..#..##..#..#.......#......#.#....#..#.",".......#......#.#....#..#.#.......#.#........#",".#..#.#.......#.#........##.#.........##..#..#",".....##.#.........##..#..#.#.#..###.....##.##.","..#..#.#.#..###.....##.##.....#.#..#.##.##....","##.##.....#.#..#.##.##......#...#.###......#.#","##......#...#.###......#.#..#.##.##..##...#...","...#.#..#.##.##..##...#...........####....#.##","..#...........####....#.##.###..#..#..........","..#.##.###..#..#..........#...#..##...#.#...#.","......#...#..##...#.#...#.#.##...#....###.#.#.","#...#.#.##...#....###.#.#.#....#.....###..####"}

    Returns: 1

  32. {"#####.","######","######","######","######","######","######","######",".#####","##.###","######","######","######","######","#####.","######","######","######","######","######","######","######","######","######","######","######"}

    Returns: 1

  33. {".....#.#.","###.#.#..",".#.#..##.",".#..###..","##.#.####","###.####.","..#...##.","..#..##..",".#.#####.","#.#...###","#.#####..","##..#....",".#####..#","#......#.","...##..#.",".##..#..#",".#.###..#","##...##.#","#.####.##","#.##..##.",".#.##..#.",".#.#..###","..##.##.#",".....###.","#.#.##.#.","..####..#","#..#....#","#...#.#.#","#....##.#","#.####.##",".##...##.",".#..####.","#.##.#.#.","###...#..","####.#.#.","####..#.#","#......##","...#.....","####.#...","...###.##",".....#.#.","###..##.#","###.#..#.","###..#.#."}

    Returns: 1

  34. {"...#.......#...#.....#.#......................#.",".#.#......................#.....................","......#.........................................",".........................................#......",".....................#..........#.........##.##.",".#..........#.........##.##.......#....#.....#..","..##.##.......#....#.....#....#.........#.......",".....#....#.........#..........###.#........#...","#..........###.#........#.........#.......#.....","....#.........#.......#..............#.#........","..#..............#.#........#...................","........#..................................#....",".......................#...............#........","...#...............#.............#...........#..",".............#...........#...............#....#.",".....#...............#....#.......#.......#.....",".#....#.......#.......#......##....#......#.....","..#......##....#......#.............#.#.........","..#.............#.#............#.............#..","...........#.............#............#...#.....",".....#............#...#............#.....#......","..#............#.....#......#.........#....#...#",".#......#.........#....#...#.#.#................","...#...#.#.#....................##...........#.#","............##...........#.#..#.................",".....#.#..#...........................#.........","..................#..........#.....##........#.#",".........#.....##........#.#..............#.....",".....#.#..............#.........................","..#.............................#..........#....","............#..........#..............#.........","...#..............#....................#.......#","...................#.......#............#..#...#",".......#............#..#...#....................","#..#...#..........................#.#......#....","..............#.#......#.......#....###....#...."}

    Returns: 1

  35. {"##.#.......#...#...","##.#..............."}

    Returns: 4

  36. {"...........","#..........","###.#.#....","#.###......","#.........."}

    Returns: 1

  37. {"#.#..#..#.####..##.....#.#..#..##..","...#.#..#..##....#.....##..###..#.#","...##..###..#.###.....#..##.##.##.#","..#..##.##.##.#..##.###.#...###....","###.#...###.....##.#.####.#.###...#",".####.#.###...#.##.#.##.###..#..#.#",".##.###..#..#.##.#..#.#.#.##....##.","#.#.#.##....##.....#.#.........#.#.",".#.........#.#.###..##.#.#..####...","##.#.#..####....#.##....#.##.#...#.","....#.##.#...#.##.#..###...#...###.",".###...#...###.#.#.##.#.#....#.##.#","#.#.#....#.##.##.##.#..##.#.#.###.#","#..##.#.#.###.#.#...#......##..#.#.","#......##..#.#.##.##.#.#####....#.#",".#.#####....#.#####..#.#....#...#..",".#.#....#...#..#..#.#..##..#####..#","#..##..#####..#...#...#.#..##......","..#.#..##.........##.#.#..#.....#.#",".#.#..#.....#.###.#...##..#####.##.","..##..#####.##..##....#....##.....#","..#....##.....####.##.......#......","#.......#.......#..#.##.##.#....#.#",".##.##.#....#.#####.....##..####.#.","....##..####.#.#.#.#..#..#..###.###","..#..#..###.#####..##.#....##.....#","#.#....##.....#...###.#.###.###...#","#.#.###.###...#..#..#..#.#.......##","#..#.#.......###.#.##...##.##...#.#","#...##.##...#.##.###..##.#######...","..##.#######........#######.###.###","#######.###.###..#.....#...##...#..","...#...##...#..#..##.#...........#.",".#...........#.....#####....####.##","####....####.##.#.##.####.....#.##.",".####.....#.##..##.#.#.#..#........",".#.#..#............#........#..##..","........#..##..##....###.#...#.##.#",".###.#...#.##.##.##.....##...##...#","....##...##...######..##.#.#.#..#.#","..##.#.#.#..#.#..##....#...#.#..###","...#...#.#..#######.#..####...#.#.#","#..####...#.#.###...#....#####....#","#....#####....#...#..##.##.###....#",".##.##.###....#.#....#...#..#....#.",".#...#..#....#.#.....#......##..###",".#......##..###.##..##...##.##..#.#","##...##.##..#.##.#.#.##..#.#..##..#"}

    Returns: 1

  38. {"...","...","..#","###","...",".##","###","..#","...",".##","...","...","..#","..#","...",".##","..#",".##","..#"}

    Returns: 59049

  39. {".......................................","...................#...........########","...........#########.............######",".............#######.............######",".............#######.................##",".................###..........#########","..........##########..............#####","..............######.........##########",".........###########.............######",".............#######............#######","............###########################"}

    Returns: 1

  40. {"..................##........############","........############.........###########",".........###########......##############","......##############.......#############",".......#############.........###########",".........###########......##############","......##############.........###########",".........###########.....###############",".....###############..........##########","..........##########....################","....################.........###########",".........###########........############","........############..........##########","..........##########.......#############",".......#############.......#############",".......#############......##############","......##############.........###########",".........###########.............#######",".............#######........############","........############.......#############",".......#############.......#############",".......#############......##############","......##############.....###############",".....###############.......#############",".......#############......##############","......##############....################","....################.................###",".................#######################"}

    Returns: 1

  41. {".............................................",".............................................","......................................##.....","..................##..............######.....","..............######.............#######.....",".............#######................####.....","................####...............#####.....","...............#####..............######.....","..............######...........#########.....","...........#########................####.....","................####.................###.....",".................###................####.....","................####................####.....","................####..............######.....","..............######............########.....","............########..............######.....","..............######..............######.....","..............######..........##########.....","..........##########............########.....","............########................####.....","................####.............#######.....",".............#######..................##.....","..................##...............#####.....","...............#####.....####################",".....########################################"}

    Returns: 1

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

    Returns: 34302381

  43. {"........................","..........#.............","..........#.............","..........#.............","..........#.............","..........#...#.........","..........#.#.#.....#.#.","#.#...#...###.#.....#.#.","#.#..##..#######....#.##","#.##.##.########.##.####","###################.####","###################.####","###################.####","###################.####","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################"}

    Returns: 313713347

  44. {"##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","############################.#############","########.##############.####.###..####.###","###.####.###..####.####..###.#.#..####.###","###..###.#.#..####.####..###.#.#..####.###","###..###.#.#..####.###...##....#..####.###","##...##....#..####.###...##........###.###","##...##........###.###...#.........###..##","##...#.........###..##...#.........#....##","##...#.........#....##.............#......","##.............#..........................",".........................................."}

    Returns: 251281811

  45. {"...###","..####","....##","....##","..####","...###","...###",".#####","....##","....##","...###","...###","....##","...###","....##","....##","..####","....##","...###",".....#","....##"}

    Returns: 542956853

  46. {"#############################","#############################","##########################.##","######.###################.#.","######.#.#########.#.#####.#.",".#####.#.##.######.#.#####.#.",".#####.#.##..#####.#.##.##...",".##.##...##..###.#.#.##.##...",".##.##...##....#.#...#.......",".#.......##..................",".............................",".............................",".............................",".............................",".............................","............................."}

    Returns: 947791751

  47. {"##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","########################......"}

    Returns: 738894874

  48. {"..........##########....##########","....################..############","..##################..############","..##################.#############",".###################....##########","....################.....#########",".....###############...###########","...#################...###########","...#################....##########","....##############################","##################################"}

    Returns: 1

  49. {"................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","...............................#","...........#...........#....#..#","...#....#..#..........##....#.##","..##....#.##..........##..######","..##..#######.#.#..#.###..######",".###..#######.####.#.###.#######",".###.#############.#.###########",".#################.#.###########",".#################.#.###########",".###############################","################################","################################"}

    Returns: 655809486

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

    Returns: 1

  51. {"##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##################.###.#######","##.#######.#######.###.#..####","##.#..####.#######.###.#..####","##.#..####.###..##.###.#..####","##.#..####.###...#.#...#..##.#","...#..##.#..##...#.....#...#.#","...#...#.#...#................",".............................."}

    Returns: 116599568

  52. {"..........########",".......###########","................##","..........########",".............#####",".........#########",".........#########","...........#######","..............####","..........########","..........########",".........#########","............######",".........#########","............######",".........#########","...........#######","........##########","......############","..........########",".........#########","...........#######",".............#####",".........#########","........##########","...........#######",".............#####","...........#######","........##########","......############","..........########",".......###########"}

    Returns: 486704182

  53. {"##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","#################.#.##############","#################.#.####.#########","####.############.#.###..####..###","###..####..######.#..##...##...###",".##...##...######.#..##....#...##.",".##....#...##.##.....##....#...##.",".##....#...##........#............",".#...................#............",".#................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................",".................................."}

    Returns: 975997236

  54. {"............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","...#.....#..","#..##..###..","#..##..###..","##.##.####.#","#####.######","############","############"}

    Returns: 237769895

  55. {"#############################","#############################","#############################","#############################","##################..#########","#################...#########","################....#########","###################.#########","###################.#########","################....#########","##################..#########","#################...#########","#################...#########","#################...#########","#################...#########","#################...#########","#################...#########","#################...#########","##################..#########","##################..#########","################....#########","##################..#########","###################.#########","#################...#########","#############################","#################...#########","###################.#########","#################...#########","###################.#########","##################..#########","##################..#########","##################..#########","###################.#########","################....#########","#################...#########","#################...#########","###################.#########","###################.#########","##################..#########","##################..#########","#################............"}

    Returns: 1

  56. {".##########"}

    Returns: 11

  57. {".........###########.......#############.",".......#############........############.","........############........############.","........############.........###########.",".........###########......##############.","......##############.....###############.",".....###############.......#############.",".......#############.......#############.",".......#############...#################.","...#################....################.","....################.......#############.",".......#############......##############.","......##############.......#############.",".......#############.....###############.",".....###############....################.","....################..........##########.","..........##########........############.","........############.....###############.",".....###############.....###############.",".....###############......##############.","......##############.....###############.",".....###############....#################","....#####################################"}

    Returns: 1

  58. {"..................................######..........","..............######................####..........","................####.............#######..........",".............#######..............######..........","..............######.............#######..........",".............#######...........#########..........","...........#########.............#######..........",".............#######............########..........","............########..............######..........","..............######...........#########..........","...........#########............########..........","............########............########..........","............########............########..........","............########.............#######..........",".............#######...........#########..........","...........#########..........##########..........","..........##########...............#####..........","...............#####................####..........","................####...........#########..........","...........#########..............######..........","..............######..........##########..........","..........##########............########........##","............########........############..........","........############.............#######..........",".............#######..............######..........","..............######..............######........##","..............######........############..........","........############.............#######..########",".............#######..############################","..################################################"}

    Returns: 1

  59. {"...##.#....#########...##........#######","...##........#######.............#######",".............#######.............#######",".............#######..............######","..............######..............######","..............######................####","................####...................."}

    Returns: 526556666

  60. {".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................","...................#.........#.........",".........#.........#.........#.....#...",".........#.....#...#.#.......#...#.##..",".#.......#...#.##..#.#.#..#.##...#.##..",".#.#..#.##...#.##..#.###..#.##...#.##..",".###..#.##...#.##..#.####.#.###..#.###.",".####.#.###..#.###.#.##########..#####.",".##########..#####.#.##########.######.",".##########.######.############.######.","###########.######.############.#######","###########.###################.#######","###########.###########################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################"}

    Returns: 583929924

  61. {"################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","##.#############","#......#.#.#..#."}

    Returns: 920722959

  62. {"...........####","............###",".............##","...........####","..........#####",".............##","...............","..........#####","...........####","..........#####",".......########","............###","...........####","...........####","...........####","............###","............###","...........####",".........######","...........####","...........####",".........######",".........######","........#######","..............#","............###","........#######","...........####","...............","...........####",".............##","..........#####"}

    Returns: 731803416

  63. {"................####.........##########",".........###########...........########","...........#########..........#########","..........##########............#######","............########.........##########",".........###########........###########","........############..........#########","..........##########...........########","...........#########........###########","........############.............######",".............#######.........##########",".........###########...........########","...........#########............#######","............########............#######","............########.........##########",".........###########..........#########","..........##########.............######",".............#######.............######",".............#######.........##########",".........###########..........#########","..........##########.........##########",".........###########.......############",".......#############......#############","......##############........###########","........############.....##############",".....###############.........##########",".........###########..........#########","..........##########......#############","......##############..............#####","..............######...........########","...........#########..........#########","..........##########......#############","......##############..........#########","..........##########........###########","........############.........##########",".........###########.......############",".......#############........###########","........############.........##########",".........###########...........########","...........#########.............######",".............#######.................##",".................###..........#########","..........##########.............######",".............#######........###########","........############.......############",".......#############............#######","............###########################"}

    Returns: 1

  64. {"######...........","###########......","###########......","#########........","############.....","#######..........","##########.......","############.....","###########......","############.....","###########......","#########........","#######.........."}

    Returns: 758607223

  65. {"...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...........#......##.....","...........#......##...........#.##.#####....","...........#.##.#####..........##########....","#..........##########..........##########....","#..........##########........############..##","#........############..##..#.################","#..##..#.###################.################","########.####################################","#############################################"}

    Returns: 90391641

  66. {"####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","##############.###.#","##############.###.#","##############..##..","##############...#..","###...#####.#....#..","###...#..#..#....#..","..#...#.....#....#..","......#.............","....................","....................","....................","...................."}

    Returns: 22945067

  67. {"...#","..##",".###",".###","####","####",".###",".###",".###","####",".###",".###",".###","..##","..##","####","..##","..##","####","####",".###","####","####",".###",".###","####","..##","####",".###","####","..##","..##","####","####",".###","..##","####","####"}

    Returns: 902252906

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

    Returns: 1

  69. {"#####.............","####..............","###...............","####..............","######............","########..........","######............","######............","####..............","#########.........","####..............","#####.............","####..............","####..............","###...............","########..........","####..............","#######...........","####..............","######............","####..............","###...............","#######...........","####..............","########..........","##########........","#####.............","#######...........","#######...........","####..............","##................","#####.............","#####.............","###########.......","##########........","######............","#####.............","####..............","####..............","######............"}

    Returns: 683578128

  70. {"...........#########......","........############......","........############......","........############......",".......#############......",".......#############......","......##############......","......##############......","......##############......","......##############......","......##############......","......##############......","......##############......","......##############......","......##############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############....##","....################....##","....################....##","....################....##","....################....##","....################....##","....################....##","....################....##","....################....##","....################....##","....################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################..####","..##################..####","..##################.#####",".###################.#####",".#########################"}

    Returns: 22345947

  71. {"########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","####################################....","################....#######.............","#######.............#####...............","#####...............###.................","###.................#...................","#.......................................","........................................","........................................","........................................","........................................","........................................","........................................","........................................","........................................","........................................"}

    Returns: 391850458

  72. {".....................................","....................................#","................####...............##","...............#####...............##","...............#####...............##","...............#####..............###","..............######..............###","..............######.............####",".............#######.............####",".............#######............#####","............########............#####","............########............#####","............########...........######","...........##########################","#####################################"}

    Returns: 125709875

  73. {"..................##..............######.......","..............######.............#######.......",".............#######.............#######.......",".............#######..............######.......","..............######...............#####.......","...............#####.............#######.......",".............#######............########.......","............########...........#########.......","...........#########..........##########.......","..........##########.........###########.......",".........###########.............#######.......",".............#######............########.......","............########.............#######.......",".............#######............########.......","............########..........##########.......","..........##########............########.......","............########...........#########.......","...........#########........############.......","........############..............######.......","..............######.............#######.......",".............#######............########.......","............########.............#######.......",".............#######.............#######.......",".............#######.........###########.......",".........###########..........##########.......","..........##########...........#########.......","...........#########.............#######.......",".............#######............########.......","............########................####.......","................####...............#####.......","...............#####.............#######.......",".............#######............########.......","............########........############.......","........############.............#######.......",".............#######..............######.......","..............######.............#######.......",".............#######............########.......","............########...............#####.......","...............#####...............#####.......","...............#####.............#######.......",".............#######...........#########.......","...........#########...........#########.......","...........#########...........#########.......","...........#########.............#######.......",".............#######........############.......","........############...........#########.......","...........#########...........................","........................................#######","....................###########################"}

    Returns: 1

  74. {"#######################","#######################","#######################","#######################","#######################","#######################","#################...###","##########..........###","#########...........###","#######.............###","######..............###","######..............###","#####...............##.","##....................."}

    Returns: 581842959

  75. {"..........##########.###################..####",".###################..##################...###","..##################...#################......","...#################......##############......","......##############..............######......","..............######............########......","............########.......###################",".......#######################################","##############################################"}

    Returns: 1

  76. {"######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","####################.##.#############.",".##.#############.##.##.#############.",".##.#############.##.##.######..#####.",".##.######..#####.##.##.######..#####.",".##.######..#####.##..#.######..#####.","..#.######..#####.##..#.##...#...####.","..#.##...#...####.##..#..#...#...###..","..#..#...#...###.................###..",".............###..................##..","..............##......................","......................................"}

    Returns: 697735736

  77. {"................................","................................","................................","....................#...........","#...................##..........","##..................#######.....","#######.............############","############........############","##############......############","##############......############","################....############","##################..############","###################.############","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","####################............"}

    Returns: 1

  78. {"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#",".",".",".",".",".",".",".",".",".",".",".",".",".",".",".",".","."}

    Returns: 353793174

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

    Returns: 1

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

    Returns: 1

  81. {"...............#####............########","............########...........#########","...........#########...........#########","...........#########...........#########","...........#########...........#########","...........#########..........##########","..........##########..........##########","..........##########..........##########","..........##########.........###########",".........###########.........###########",".........###########.........###########",".........###########........############","........############........############","........############........############","........############........############","........############........############","........############........############","........############.......#############",".......#############.......#############",".......#############.......#############",".......#############.......#############",".......#############......##############","......##############......##############","......##############......##############","......##############......##############","......##############......##############","......##############......##############","......##############......##############","......##############.....###############",".....###############....################","....################..##################","..######################################"}

    Returns: 238723042

  82. {"#########################","#########################","#########################","#########################","####################.####",".###################.####",".###################.####",".###################.####",".###################..###","..##################..###","..##################...##","...#################...##","...#################...##","...#################...##","...#################...##","...#################....#","....################....#","....#.##############....."}

    Returns: 776362885

  83. {"................................######","............########........##########","........############............######","............########..........########","..........##########........##########","........############.......###########",".......#############..........########","..........##########.........#########",".........###########...........#######","...........#########......############","......##############........##########","........############..........########","..........##########.....#############",".....###############.........#########",".........###########......############","......##############.........#########",".........###########....##############","....################.........#########",".........###########.........#########",".........###########.........#########",".........###########......############","......##############.......###########",".......#############........##########","........############......############","......##############..........########","..........##########.........#########",".........###########.....#############",".....###############........##########","........############......############","......##############......############","......##############........##########","........############...###############","...#################..............####","..............######.....#############",".....###############........##########","........############...........#######","...........#########........##########","........############.........#########",".........###########.........#########",".........###########...........#######","...........#########........##########","........############......############","......##############.........#########",".........#############################","######################################"}

    Returns: 1

  84. {"#################","#################","#################","#################",".################",".################",".################",".################",".################",".################",".################",".################",".################",".################",".################","..###############","..###############","..###############","..###############","..###############","..###############","..###############","..###############","...##############","...##############","...##############","...##############","...##############","...##############","...##############","....#############","....#############","....#############","....#############","....#############","....#############","....#############","....#############",".......##########"}

    Returns: 685621144

  85. {".#########################################","########################################.#","####################.###################.#",".###################.###################.#",".###################.###################.#",".###################.###################..",".###################...#################..","...#################...#################..","...#################...#################..","...#################.....###############.."}

    Returns: 1

  86. {"..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..",".#"}

    Returns: 86

  87. {"...................","...................","....#..............","#####..............","#####....#........."}

    Returns: 500000

  88. {"#################...","################....","################....","################....","################....","################....","################....","################....","################....","################....","################....","###############.....","#############.......","########............","####................","#..................."}

    Returns: 837488982

  89. {"#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#############################...........#####....","#########...........#####...............##.......","#####...............##..................##.......","##..................##..................##.......","##..................##...........................","##...............................................",".................................................",".................................................",".................................................",".................................................",".................................................",".................................................",".................................................","................................................."}

    Returns: 169783960

  90. {"###..","###..","###..","##...","#####","####.","###..","###..","##...","####.","###..","#####","####.","####.","####.","#####","####.","###..","##...","#####","###..","####.","###..","####.","###..","###..","####.","#####"}

    Returns: 812509576

  91. {"####...","#######","####...","#######","#......","#######","####...","#####..","######.","###...."}

    Returns: 544143118

  92. {"#########","#########","########.","########.","########.","#######..","#######..","#######..","#######..","#######..","#######..","#######..","#######..","#######..","#######..","######...","######...","######...","######...","######...","######...","######...","######...","######...","#####....","#####....","#####....","#####....","#####....","#####....","####.....","####.....","####.....","####.....","###......","###......","###......"}

    Returns: 344248776

  93. {"...........","...........","......#####","...########",".##########",".##########","###########","###########"}

    Returns: 734695914

  94. {"................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","....................#...........","#...................#...........","#...................#...........","#...................##..........","##..................##..........","##..................###.........","###.................####........","####................########....","########............############","#############.......############","###############.....############","##################..############","###################.############","###################.############","################################","####################............"}

    Returns: 1

  95. {"################....####................###","####................######..............###","######..............######..............###","######..............###.................###","###.................########............###","########............######..............###","######..............########............###","########............########............###","########............###.................###","###.................#####...............###","#####...............######..............###","######..............###.................###","###.................#######.............###","#######.............#######................","#######....................................","...........................................","..........................................."}

    Returns: 1

  96. {"...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................",".....#.#...##......",".....#.#...##...#..",".....#.#...##...#..",".....###..###...#..",".....###..###...#..",".....###..####..##.",".#.#.###..####..##.",".###.####.####.####",".#############.####","###################","###################","###################","###################","###################","###################","###################","###################"}

    Returns: 646694621

  97. {"#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#####..","###....","##.....","#......","......."}

    Returns: 44560313

  98. {"#.", "##" }

    Returns: 4

  99. {"....", "##..", "###." }

    Returns: 396


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: