Problem Statement
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
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
{"#...", "....", "...."}
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.
{".#."}
Returns: 1
This time we only have one solution: {".#."} itself.
{"#.", "##"}
Returns: 4
We have these 4 solutions: #. ## {} ## .# {"Down", "Left"} .# ## {"Left"} ## #. {"Down"}
{".##", "..#", "..."}
Returns: 72
{".##########.", "............", "............", "............", "............", "............", "............", "............", "............", "............"}
Returns: 999999937
Don't forget mod.
{"."}
Returns: 1
{"##........", "###.......", "####......", "######....", "######....", "########..", "########..", "##########", "##########"}
Returns: 767661144
{"...#.###.#########.#####.#.#..#######.######","####.#.#..#######.##########..###.#..#######","########..###.#..#######.####..####.#######.","####.####..####.#######.##.#######.###.#####","###.##.#######.###.########..#.#####....#.#.","#######..#.#####....#.#.####..#####..#####.#","#.#.####..#####..#####.###.#####.#.####.###.","##.###.#####.#.####.###.#######.#####.#.###.","###.#######.#####.#.###..#.#######.#######..","###..#.#######.#######...##.###.#.######.#.#","##...##.###.#.######.#.############.#.######",".#.############.#.######.######.####.#####.#","####.######.####.#####.#######.####.#.###.##","##.#######.####.#.###.##.##.##.###########.#","#.##.##.##.###########.#.###..#.#.#.########","##.#.###..#.#.#.##########.#.######.#.##.###","######.#.######.#.##.#####.##.#.###..###.##.",".#####.##.#.###..###.##...#.#########..#####",".##...#.#########..######.###.##..#####.#.##","#####.###.##..#####.#.###.##..###.####.####.","#.###.##..###.####.####...############.##.##","###...############.##.####.#.##.##.####.##.#","#.####.#.##.##.####.##.##.#..##.###.##.###.#","##.##.#..##.###.##.###.######.###.##########","##.######.###.###############.#..#...#.#####","#########.#..#...#.######.####.########.#.#.","#####.####.########.#.#.##.######.##.##.##.#","#.#.##.######.##.##.##.#.#.######.#..####..#","##.#.#.######.#..####..##.##.#.#.....##.#.##","#..##.##.#.#.....##.#.#####...########.####.","#.#####...########.####.###.##.#####..###.#.","###.###.##.#####..###.#.#.####.##..#.#######","#.#.#.####.##..#.########.##.###.#.###..####","#####.##.###.#.###..########....###.###.####","########....###.###.#####.##############.###","#####.##############.#########.#.##.########",".#########.#.##.##########.###....###.######","######.###....###.###########.##.######.##.#","#########.##.######.##.###..###########.##..","##.###..###########.##.....##.##.####..##.#.","##.....##.##.####..##.#..#########.##.##.##.","#.#..#########.##.##.##.#####.######.#######",".##.#####.######.########.#######.####.##.#."}
Returns: 1
{"#..##","##.##","#####","#####","##.##","#..#.","#####","####.","##.##",".##.#",".####","####.","#####","###.#","###.#","#####","#.#.#","###.#","#.##.","##.##",".#.##","#####"}
Returns: 1
{".#.....#.###.#.#####..#.","..#...#.##.#...#.......#","...#...#.....#.......#..",".#...##....##....#.###.#","##.#..#...#..####......#","...#....#.#..#...##..#..",".#....#.#....#.#.#..##.#","##.#..####.####.#####...","#...#..#.##..###.#...#..",".#....#..###..#......###",".#####..#.##....##.###..","##...............#......",".......#...###..#..###..","##....##.##..#.........#","...##..##...###.....#...","#......#..#.#..##...#...","#...#...#.#.....#.#.....","......##..#........####.","###..#.#.....#......#..#","#..#.#....##.........#.#",".#.#.##....#......#...#.","..#..##.#.#.#...##.....#","...##...#....#..#.##.#.#",".#.#.######....#.##..#..",".#......#.#..##..#..#.##","#.##.#.#..##..#..#..###.","###..##....#......#.##.#","##.##..#.#.....#..#.....","....#.####.#...#..####.#","##.#..#.#..##.#.##...##.",".##...#.#....##......#.#",".#.##.#..#.#.#.#..#...#.","..#.....##..#...#....#.#",".#.#......####....#..###",".#######..##............"}
Returns: 1
{".##.###.####...####.#.######..##","#.######..##..#.####.#.#..#..###",".#.#..#..####.#.############.###","########.#####.#######.###.#.###","##.###.#.########.#.###...####..","###...####..##########...#######","##...#########..######..###..###","##..###..#####..#.###.#..#######","#.#..#######.#.#.##.....#.##..#.","....#.##..#.#.##.###.######.##.#",".######.##.##.#########.#...####","###.#...###########..#...#.#####",".#...#.#####.###...#.#####.##.#.",".#####.##.#...####.###..#####..#","##..#####..#.###..###.###.######","#.###.########.##.#.#.###.#..#.#","#.###.#..#.##.#.##.#.###.#..###.",".###.#..###.###.####...##.##.###","...##.##.############.##########","#.##########.#.####.###..##.####","###..##.####.....##.##.####..#..","##.####..#...#..##.#.###..##.##.",".###..##.##...#..######.####.###","###.####.######.#..#.##.##.#####",".##.##.#######.#########...#.###","####...#.####.####.##.######.##.","#.######.##.#####.##.#.###.#.#.."}
Returns: 1
{"#.#.###","#######","####..#"}
Returns: 1
{"###.###.######","####...#.#.###",".##.#.######.#","#####.###.####","##.###.####..#","#.#######.##.#","##.#..#.#.#...","####.#...##.#.","#####.#.#.##.#","##..##########","#####.##.##.##","..#.####.####.","#.#########.##","#.###.#.###.##","#.############","#.#.##.....###","#.####.##.####",".#.#..##.#####","..###..#..#..#","##..#.#####.##","###..#########","#...#########.","#.#.##..##..##","#####..#.#.#.#","##########.###","#######.##.#.#",".####.####.#.#","####.#.#.#####","###.#######.##","...##..####.##","#..##..##..#.#","#.#..#########","###.#.##..#.##","####..#####.#.","#.###..##..###",".#....#.#.####","#.###.#.####.#","#.############",".#############","######.#######","##.#####.####.","######.#..####","#.###########.","####.#..####..","####.######.##","#####.###.##..",".#############","....####.#####","###.###.######"}
Returns: 1
{"#####",".#.#.","#####","#.##.",".....","#....","..##.","####.","###.#","#....","#...#","#####","#..##",".#..#",".###.","##..#","#.#.#","#####",".#.##","#####",".#.##","###.#","###..",".##..","..##."}
Returns: 1
{"#...#.......#........#...##....##..#.#.#.....#.##.",".#...##....##..#.#.#.....#.##.....#...#.#.#....#.#",".....#.##.....#...#.#.#....#.#.#.##.....#....##...","#.#....#.#.#.##.....#....##............#.#.#.....#","#....##............#.#.#.....#.#...##.#.#.#.#..###",".#.#.....#.#...##.#.#.#.#..####........##.........","#.#.#..####........##...........#......#..##......","#...........#......#..##........#.##.......#...#..","..##........#.##.......#...#.............#.#..#..#","...#...#.............#.#..#..###........#..#####..",".#.#..#..###........#..#####.....#....#..........#","#..#####.....#....#..........#..#.................",".........#..#.................#...#..#..#...#..##.","..........#...#..#..#...#..##...#..#..#.#.##....#.","#...#..##...#..#..#.#.##....#.....##........#....#","#.##....#.....##........#....##...#.#...#.....#..#","....#....##...#.#...#.....#..#.#..#....#..#......#","#.....#..#.#..#....#..#......##........##....#...#","..#......##........##....#...#....#.#.##..........","#....#...#....#.#.##...............##.#.........#.","...............##.#.........#.....##...##....#....","........#.....##...##....#........#..#..#...#.....","#....#........#..#..#...#.......#.....####.#......","#...#.......#.....####.#..........##..##..##...#..","##.#..........##..##..##...#...#.#.##.............","..##...#...#.#.##.................#...#..#....#...","..............#...#..#....#...##............#.##.#",".#....#...##............#.##.#....#.#....#.##...#.","....#.##.#....#.#....#.##...#.........#.#.....##.#",".#.##...#.........#.#.....##.#......#....#...#....","#.....##.#......#....#...#.....#.#.#....########..",".#...#.....#.#.#....########....#....#.....##...##","########....#....#.....##...##.........#........#.","...##...##.........#........#.#......##..........#","........#.#......##..........##...............###.",".........##...............###....#..#####.########"}
Returns: 1
{"..##.###","#.######","###.#.##",".#.#.#..",".#..####","##..####","###.####",".#.##.#.",".#######",".###.##.","#.....#.","########","####.##.","##.###.#","..####.#","###..##.","########","#...####","##.#####",".##.##.#","###.##.."}
Returns: 1
{"##","##","..","#.","##","#.","#.","##","..","#.","#.","..","..","..","..",".#","##","##","#.","..",".#",".#","..",".#","..",".#","##","#.","#.","..","..","..","..",".#"}
Returns: 1
{"......#...###.#..##...#...#.##.#.....####","..#...#.##.#.....####.##.#..##.#.#....##.","#.##.#..##.#.#....##...####.....#...##..#","...####.....#...##..#...#....#...##.#....","#...#....#...##.#....##....#...........#.",".##....#...........#..#..###..#.#..##.#..","..#..###..#.#..##.#...#....#..#.#.#..#...","..#....#..#.#.#..#......##...#.##.##....#","....##...#.##.##....#......#....#..###.##","#......#....#..###.##..##..........##.#.."}
Returns: 1
{"..",".#","..","..","..","#.","..","#.","..","..",".#","..","..",".#","##",".#",".#","..","..","..",".#","..","..","#.","..","#.","..","##",".#","..","..",".#","##","..","#."}
Returns: 1
{"###.#.#####.##.#..###..#.###.##","#..#.###.###.....#...######..#.",".######..#.....#####.#......#..",".#......#..##.#.#...#....#...#.","#....#...#..#.##.......#.......","...#.......#####.##.##..##....#","##..##....#..#.##...####.#.#.##","####.#.#.####..##.#####.#.#....","###.#.#.....#..##.#...#..###...","..#..###...##.##..#.#.#####..##","#.#####..##.#.#.#..#######..###","######..####.##.###.#..##..#.##","#..##..#.##.#######..#.#.#.#.##",".#.#.#.#.##..##..#...##......##",".##......##..##..#.######.#.###","#####.#.#######.####.####....##",".####....######.#..#..##.##.#.#","..##.##.#.######..##..####....#","..####....##.#...######.####.##","###.####.##.###.##.###...#####.","##...#####...#..##.###.#...####","##.#...####....#..##...###.###.","...###.###.#######.###.#.#.##..","##.#.#.##...###..#######..#.###","####..#.######.#....###.#.###.#","###.#.###.###.##..#.###.###....","###.###....#....#.#.##.#.##.##.","##.#.##.##...#..###...###..##.#","..###..##.#######.#.#.#..#.#..#","#.#..#.#..##########..#...##.##","..#...##.####.#.#.######.#####.","####.#####.#.....#.#.#.#..#.#..",".#.#..#.#......##........#.....",".....#.......####...####..#..#.","####..#..#.###..#.##.####.##.#.",".####.##.#.#..##.#.##.#.#######","#.#.########...#..#.......##.##","......##.##...###.#.#..###.##.#","#..###.##.##.####.##.####.###.#",".####.###.#.#..#####.#.#.###.#."}
Returns: 1
{"..........#...#...#...#....#...#.#","..#....#...#.#........#.##.....#..","..#.##.....#...#...............#..","...........#......#.#...#.....#..#","#...#.....#..##....#....#...#.....","....#...#.....#.#......#...#......","...#...#........#..........#.#....",".......#.#........#.....#......##.","....#......##.......#......#......","#......#.......#......##..#....#.#","..##..#....#.#.....#.......#....#.",".......#....#.....#...............","..............#...........#.......","......#.........##...#...#....#...",".#...#....#....###.#...........#.#","...........#.#....................","..............#..##.#..###....#...","#..###....#...##..............#...","..........#.............#..#..#...","....#..#..#..........####.##...#..",".####.##...#....###....#....###...","...#....###.....#####...........##","#...........####.......#...###.#..","...#...###.#..#.........#...#.#.#.","....#...#.#.#..#.#.....#.....#....","...#.....#..........#.......#.....","#.......#............##..#..##...#",".##..#..##...#...#...#........#.##",".#........#.##..#..#..........##.#","..........##.##...#...#..#...#...#","..#..#...#...##....#...#..#..#..#.","...#..#..#..#.........#..##.#....#","..#..##.#....#..##....#...###.....","..#...###........#.#......#..##...","......#..##.....#......#......#...","...#......#........#....#....#....","....#....#.....#.......#.........#","...#.........#....#..#.......#....",".#.......#......#.#.....#..#.....#","....#..#.....#....#......#..##.##.",".....#..##.##..#................#.","............#..........##.........","...##.....................#...##.#","......#...##.#..#.....##..........","..##.............#..#.............","#.............#....#.#..........#.",".#..........#...#..........#...#..",".......#...#....#..#...##.#......#","...##.#......##...#............#..","...........#....#...#..#......#..."}
Returns: 1
{".......","...#...","...###.","...#..."}
Returns: 1
{"##.#......#...#...#.##..","##..####...#.#......#.#.","#.#.###....#...#....#...","#...#......#......#.#.#.","#.#.###...#..##....##.##","#.##.##.#.....#.#...###.","###.#.##........#......."}
Returns: 1
{"...##..........",".##.###....#...",".#......#...#..",".##...#.#...##.","......##.###...","#.##....##.#..#","........#......","..#.#.#.#.#..#.","#..#..#.#......","#.#..##...#..#.","#.....##.......","..#..###.......","#...##.##......",".............##","...#..#....#..#",".#..........#..","..#.......#..#.","...##.##.....##","#.##.......#.#.","#..#......#..#.","#.#.........#..","..#...#...#....","...##..##..#.#.",".....#......#.#","#..##......####","#.........#...#","..#......#..#..","#.....#......##",".#....###......",".##....#.#.....",".#.##.#........",".......#....#..","#..#.#####.##..","..........#.#..","....##...##..#.","....#.#....##.#","....#.#.#......",".#.....###....#",".#...#....##.##","..##.##.....#..","####....#......","##....##..##.#.",".......#..#.#.."}
Returns: 1
{"############","############","############","############","..#####.#.##",".#####.#####","############","###.########","#######.####","######.#####","##.#########","###....#####","..####.#####","############","############","#.#.########","#####.######"}
Returns: 1
{".####.###..###..###.##..#..##.","##..#..##....######.##.###...#","##.###...#.#.##########..#####","###..#######.##.#######.####.#","###.####.##.###.##.##########.","#########.#.#####...#####...##","#####...####.#.#..#.########.#","########.##.#.##.#..#.#####.##","#.#####.##.#####.##.#######..#","#######..##.#.########.##.#..#","##.##.#..#.####..#.#..#####..#","..#####..###.####...###.##.###","###.##.#####..####..###..#.###","###..#.########.#.#.#.########","#.###########.#####....#..####","...#..####..#####.##.#.##.##..",".#.##.##..####....#.####.####.","####.####.#.###.######.##.####","##.##.#####.#####.#.#..#......"}
Returns: 1
{"#####.###..###..##"}
Returns: 1
{"..#......#.###..###.......#...#..##","......#...#..######.#.##..##...#.##","#.##..##...#.########.#...#.#..#.##","#.#...#.#..#.##.####.....#.#..#.###",".....#.#..#.###.##.#.......#....###",".......#....#####....#..#......#.#.",".#..#......#.#.#..#...#.......#.#.#","..#.......#.#.##.#..#...#....#.####","#...#....#.#####.##.#.....#.....#.#","#.....#.....#.######...#.......####","...#.......####..#.#..#####..###.##"}
Returns: 1
{"###################","#.#################","#.##############.##","#################.#","#######.###########","###############.###","##############.####","##########.####.###","#######..###.######","####.##############","##############..###","###.#####.#########","########.##########","#.#####.#..########","################.##","############.####.#","################.##","################.##","#####.###.###.#####","########.######.###","###.########.###.##","###################","####.##############","#################.#","#####.#########.##.","###################","#####.###########.#","####.##.##.##.#####","#########.#.######.","###################","##################.","######.#####.######",".#.################","#########.#########"}
Returns: 1
{".##..##...#####.##.#######.#####.#...#.##.##.#","######.#####.#...#.##.##.##..#.##......#....##","#.##.##..#.##......#....##.#.####..##...###..#","....##.#.####..##...###..###.##.##.#####...#.#","###..###.##.##.#####...#.##..#.#...###.##..###","...#.##..#.#...###.##..###.#####.#.##.#..###..","#..###.#####.#.##.#..###..###...#####.#.#.#..#",".###..###...#####.#.#.#..#...######.#..#.#..#.","#.#..#...######.#..#.#..#.##....##...#...##...",".#..#.##....##...#...##....#.##.##..######.##.",".##....#.##.##..######.##.##.#.####.#..#.####.","##.##.##.#.####.#..#.####.#########........###",".####.#########........####..#..#.#..#.#.##.##","...####..#..#.#..#.#.##.##.#..#.#.######.##..#",".##.##.#..#.#.######.##..#####...#.#####..#.##",".##..#####...#.#####..#.##.######..########.#.","..#.##.######..########.#....#####.##.######.#","###.#....#####.##.######.##.##.#..##....##.###","####.##.##.#..##....##.##########.##.##.#.###.","##.##########.##.##.#.###.###.##..#.##..##...#","#.###.###.##..#.##..##...#.##.##.#.###...####.","##...#.##.##.#.###...####..##.##......##..#.##",".####..##.##......##..#.##...#.#######.###.##.","..#.##...#.#######.###.##.#.####.#######..#...","##.##.#.####.#######..#...#..##.#.#...##..##.#","..#...#..##.#.#...##..##.#.###.#########..#...","..##.#.###.#########..#.......###..######..###","..#.......###..######..###.#.#.#.##.#..###..##","#..###.#.#.#.##.#..###..##..#.##########..#.#.","##..##..#.##########..#.#.##.#.#.#.##########.","..#.#.##.#.#.#.##########.#.##.#.###.##.....##","#####.#.##.#.###.##.....###.#######..#........","....###.#######..#........###.#.###.#..##.##.#","......###.#.###.#..##.##.#.##.####.#..#####..#","#.##.#.##.####.#..#####..######.##.....#.#...#","###..######.##.....#.#...#####.....####..##.##",".#...#####.....####..##.####..#...##..#..####.",".##.####..#...##..#..####.#.####.#####.####..#",".####.#.####.#####.####..##...##.#####.###..#.","###..##...##.#####.###..#.########..######.#.#","##..#.########..######.#.#...#.#.###....#..###","##.#.#...#.#.###....#..###.##..###..#.##..####","#..###.##..###..#.##..########..###..###.#..#.","..########..###..###.#..#.#.#.####.##..###...."}
Returns: 1
{"..#.#..#..#..........###.........####...##..#.",".###.........####...##..#...............#.##..","##..#...............#.##........#.##.##.#..#.#","#.##........#.##.##.#..#.#.#...#.#.....##.#.#.","#..#.#.#...#.#.....##.#.#.##......##..........","#.#.#.##......##..........#..##.##...###...##.","......#..##.##...###...##.#.#.........#.#....#","...##.#.#.........#.#....#.#.###..#...#..#.#.#","#....#.#.###..#...#..#.#.#.###...###.....#...#",".#.#.#.###...###.....#...#..#.#.#....##.......",".#...#..#.#.#....##........##..#.#.#.###...###",".......##..#.#.#.###...####.##......#.....##.#","...####.##......#.....##.##.#.##..#.##....##..","..##.##.#.##..#.##....##..####..#.....#.#..#..","..##..####..#.....#.#..#.....###...##.#...#..#","#..#.....###...##.#...#..#..#...###....#...#.#","..#..#..#...###....#...#.#.#.##..#....##.....#","...#.#.#.##..#....##.....#......##....###.#.#.",".....#......##....###.#.#.###..##.#.....##.#.#","#.#.#.###..##.#.....##.#.#.#.##.#.#......#....","##.#.#.#.##.#.#......#....#...#...#.....##..##",".#....#...#...#.....##..###.......#....##.....","##..###.......#....##..............#.##.#..#.#","#..............#.##.#..#.##.#.#.#.##...#..##.#","#..#.##.#.#.#.##...#..##.#.......#..####......","..##.#.......#..####...........#......#.....#.","...........#......#.....#.####.#........#..#..","....#.####.#........#..#.......#.##.....#.#..#","#..#.......#.##.....#.#..###.#..#.####..#.....","#.#..###.#..#.####..#.....#..#..##..#..#......","#.....#..#..##..#..#.......#......#.#....#..#.",".......#......#.#....#..#.#.......#.#........#",".#..#.#.......#.#........##.#.........##..#..#",".....##.#.........##..#..#.#.#..###.....##.##.","..#..#.#.#..###.....##.##.....#.#..#.##.##....","##.##.....#.#..#.##.##......#...#.###......#.#","##......#...#.###......#.#..#.##.##..##...#...","...#.#..#.##.##..##...#...........####....#.##","..#...........####....#.##.###..#..#..........","..#.##.###..#..#..........#...#..##...#.#...#.","......#...#..##...#.#...#.#.##...#....###.#.#.","#...#.#.##...#....###.#.#.#....#.....###..####"}
Returns: 1
{"#####.","######","######","######","######","######","######","######",".#####","##.###","######","######","######","######","#####.","######","######","######","######","######","######","######","######","######","######","######"}
Returns: 1
{".....#.#.","###.#.#..",".#.#..##.",".#..###..","##.#.####","###.####.","..#...##.","..#..##..",".#.#####.","#.#...###","#.#####..","##..#....",".#####..#","#......#.","...##..#.",".##..#..#",".#.###..#","##...##.#","#.####.##","#.##..##.",".#.##..#.",".#.#..###","..##.##.#",".....###.","#.#.##.#.","..####..#","#..#....#","#...#.#.#","#....##.#","#.####.##",".##...##.",".#..####.","#.##.#.#.","###...#..","####.#.#.","####..#.#","#......##","...#.....","####.#...","...###.##",".....#.#.","###..##.#","###.#..#.","###..#.#."}
Returns: 1
{"...#.......#...#.....#.#......................#.",".#.#......................#.....................","......#.........................................",".........................................#......",".....................#..........#.........##.##.",".#..........#.........##.##.......#....#.....#..","..##.##.......#....#.....#....#.........#.......",".....#....#.........#..........###.#........#...","#..........###.#........#.........#.......#.....","....#.........#.......#..............#.#........","..#..............#.#........#...................","........#..................................#....",".......................#...............#........","...#...............#.............#...........#..",".............#...........#...............#....#.",".....#...............#....#.......#.......#.....",".#....#.......#.......#......##....#......#.....","..#......##....#......#.............#.#.........","..#.............#.#............#.............#..","...........#.............#............#...#.....",".....#............#...#............#.....#......","..#............#.....#......#.........#....#...#",".#......#.........#....#...#.#.#................","...#...#.#.#....................##...........#.#","............##...........#.#..#.................",".....#.#..#...........................#.........","..................#..........#.....##........#.#",".........#.....##........#.#..............#.....",".....#.#..............#.........................","..#.............................#..........#....","............#..........#..............#.........","...#..............#....................#.......#","...................#.......#............#..#...#",".......#............#..#...#....................","#..#...#..........................#.#......#....","..............#.#......#.......#....###....#...."}
Returns: 1
{"##.#.......#...#...","##.#..............."}
Returns: 4
{"...........","#..........","###.#.#....","#.###......","#.........."}
Returns: 1
{"#.#..#..#.####..##.....#.#..#..##..","...#.#..#..##....#.....##..###..#.#","...##..###..#.###.....#..##.##.##.#","..#..##.##.##.#..##.###.#...###....","###.#...###.....##.#.####.#.###...#",".####.#.###...#.##.#.##.###..#..#.#",".##.###..#..#.##.#..#.#.#.##....##.","#.#.#.##....##.....#.#.........#.#.",".#.........#.#.###..##.#.#..####...","##.#.#..####....#.##....#.##.#...#.","....#.##.#...#.##.#..###...#...###.",".###...#...###.#.#.##.#.#....#.##.#","#.#.#....#.##.##.##.#..##.#.#.###.#","#..##.#.#.###.#.#...#......##..#.#.","#......##..#.#.##.##.#.#####....#.#",".#.#####....#.#####..#.#....#...#..",".#.#....#...#..#..#.#..##..#####..#","#..##..#####..#...#...#.#..##......","..#.#..##.........##.#.#..#.....#.#",".#.#..#.....#.###.#...##..#####.##.","..##..#####.##..##....#....##.....#","..#....##.....####.##.......#......","#.......#.......#..#.##.##.#....#.#",".##.##.#....#.#####.....##..####.#.","....##..####.#.#.#.#..#..#..###.###","..#..#..###.#####..##.#....##.....#","#.#....##.....#...###.#.###.###...#","#.#.###.###...#..#..#..#.#.......##","#..#.#.......###.#.##...##.##...#.#","#...##.##...#.##.###..##.#######...","..##.#######........#######.###.###","#######.###.###..#.....#...##...#..","...#...##...#..#..##.#...........#.",".#...........#.....#####....####.##","####....####.##.#.##.####.....#.##.",".####.....#.##..##.#.#.#..#........",".#.#..#............#........#..##..","........#..##..##....###.#...#.##.#",".###.#...#.##.##.##.....##...##...#","....##...##...######..##.#.#.#..#.#","..##.#.#.#..#.#..##....#...#.#..###","...#...#.#..#######.#..####...#.#.#","#..####...#.#.###...#....#####....#","#....#####....#...#..##.##.###....#",".##.##.###....#.#....#...#..#....#.",".#...#..#....#.#.....#......##..###",".#......##..###.##..##...##.##..#.#","##...##.##..#.##.#.#.##..#.#..##..#"}
Returns: 1
{"...","...","..#","###","...",".##","###","..#","...",".##","...","...","..#","..#","...",".##","..#",".##","..#"}
Returns: 59049
{".......................................","...................#...........########","...........#########.............######",".............#######.............######",".............#######.................##",".................###..........#########","..........##########..............#####","..............######.........##########",".........###########.............######",".............#######............#######","............###########################"}
Returns: 1
{"..................##........############","........############.........###########",".........###########......##############","......##############.......#############",".......#############.........###########",".........###########......##############","......##############.........###########",".........###########.....###############",".....###############..........##########","..........##########....################","....################.........###########",".........###########........############","........############..........##########","..........##########.......#############",".......#############.......#############",".......#############......##############","......##############.........###########",".........###########.............#######",".............#######........############","........############.......#############",".......#############.......#############",".......#############......##############","......##############.....###############",".....###############.......#############",".......#############......##############","......##############....################","....################.................###",".................#######################"}
Returns: 1
{".............................................",".............................................","......................................##.....","..................##..............######.....","..............######.............#######.....",".............#######................####.....","................####...............#####.....","...............#####..............######.....","..............######...........#########.....","...........#########................####.....","................####.................###.....",".................###................####.....","................####................####.....","................####..............######.....","..............######............########.....","............########..............######.....","..............######..............######.....","..............######..........##########.....","..........##########............########.....","............########................####.....","................####.............#######.....",".............#######..................##.....","..................##...............#####.....","...............#####.....####################",".....########################################"}
Returns: 1
{"..............................................","..............................................","......................................#..###.#","..................#..###.##...........#..#####",".###.##...........#..#######........#.#..#####",".#######........#.#..#######.#..#..###########",".#######.#..#..#############.####..###########","########.####..##################..###########","#############..##################..###########","#############..###############################","##############################################","##############################################","##############################################","##############################################","##############################################","##############################################","##############################################","##############################################","##############################################","##############################################","##############################################","##############################################"}
Returns: 34302381
{"........................","..........#.............","..........#.............","..........#.............","..........#.............","..........#...#.........","..........#.#.#.....#.#.","#.#...#...###.#.....#.#.","#.#..##..#######....#.##","#.##.##.########.##.####","###################.####","###################.####","###################.####","###################.####","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################","########################"}
Returns: 313713347
{"##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","##########################################","############################.#############","########.##############.####.###..####.###","###.####.###..####.####..###.#.#..####.###","###..###.#.#..####.####..###.#.#..####.###","###..###.#.#..####.###...##....#..####.###","##...##....#..####.###...##........###.###","##...##........###.###...#.........###..##","##...#.........###..##...#.........#....##","##...#.........#....##.............#......","##.............#..........................",".........................................."}
Returns: 251281811
{"...###","..####","....##","....##","..####","...###","...###",".#####","....##","....##","...###","...###","....##","...###","....##","....##","..####","....##","...###",".....#","....##"}
Returns: 542956853
{"#############################","#############################","##########################.##","######.###################.#.","######.#.#########.#.#####.#.",".#####.#.##.######.#.#####.#.",".#####.#.##..#####.#.##.##...",".##.##...##..###.#.#.##.##...",".##.##...##....#.#...#.......",".#.......##..................",".............................",".............................",".............................",".............................",".............................","............................."}
Returns: 947791751
{"##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","########################......"}
Returns: 738894874
{"..........##########....##########","....################..############","..##################..############","..##################.#############",".###################....##########","....################.....#########",".....###############...###########","...#################...###########","...#################....##########","....##############################","##################################"}
Returns: 1
{"................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","...............................#","...........#...........#....#..#","...#....#..#..........##....#.##","..##....#.##..........##..######","..##..#######.#.#..#.###..######",".###..#######.####.#.###.#######",".###.#############.#.###########",".#################.#.###########",".#################.#.###########",".###############################","################################","################################"}
Returns: 655809486
{"............","............","............","............"}
Returns: 1
{"##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##############################","##################.###.#######","##.#######.#######.###.#..####","##.#..####.#######.###.#..####","##.#..####.###..##.###.#..####","##.#..####.###...#.#...#..##.#","...#..##.#..##...#.....#...#.#","...#...#.#...#................",".............................."}
Returns: 116599568
{"..........########",".......###########","................##","..........########",".............#####",".........#########",".........#########","...........#######","..............####","..........########","..........########",".........#########","............######",".........#########","............######",".........#########","...........#######","........##########","......############","..........########",".........#########","...........#######",".............#####",".........#########","........##########","...........#######",".............#####","...........#######","........##########","......############","..........########",".......###########"}
Returns: 486704182
{"##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","##################################","#################.#.##############","#################.#.####.#########","####.############.#.###..####..###","###..####..######.#..##...##...###",".##...##...######.#..##....#...##.",".##....#...##.##.....##....#...##.",".##....#...##........#............",".#...................#............",".#................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................","..................................",".................................."}
Returns: 975997236
{"............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","...#.....#..","#..##..###..","#..##..###..","##.##.####.#","#####.######","############","############"}
Returns: 237769895
{"#############################","#############################","#############################","#############################","##################..#########","#################...#########","################....#########","###################.#########","###################.#########","################....#########","##################..#########","#################...#########","#################...#########","#################...#########","#################...#########","#################...#########","#################...#########","#################...#########","##################..#########","##################..#########","################....#########","##################..#########","###################.#########","#################...#########","#############################","#################...#########","###################.#########","#################...#########","###################.#########","##################..#########","##################..#########","##################..#########","###################.#########","################....#########","#################...#########","#################...#########","###################.#########","###################.#########","##################..#########","##################..#########","#################............"}
Returns: 1
{".##########"}
Returns: 11
{".........###########.......#############.",".......#############........############.","........############........############.","........############.........###########.",".........###########......##############.","......##############.....###############.",".....###############.......#############.",".......#############.......#############.",".......#############...#################.","...#################....################.","....################.......#############.",".......#############......##############.","......##############.......#############.",".......#############.....###############.",".....###############....################.","....################..........##########.","..........##########........############.","........############.....###############.",".....###############.....###############.",".....###############......##############.","......##############.....###############.",".....###############....#################","....#####################################"}
Returns: 1
{"..................................######..........","..............######................####..........","................####.............#######..........",".............#######..............######..........","..............######.............#######..........",".............#######...........#########..........","...........#########.............#######..........",".............#######............########..........","............########..............######..........","..............######...........#########..........","...........#########............########..........","............########............########..........","............########............########..........","............########.............#######..........",".............#######...........#########..........","...........#########..........##########..........","..........##########...............#####..........","...............#####................####..........","................####...........#########..........","...........#########..............######..........","..............######..........##########..........","..........##########............########........##","............########........############..........","........############.............#######..........",".............#######..............######..........","..............######..............######........##","..............######........############..........","........############.............#######..########",".............#######..############################","..################################################"}
Returns: 1
{"...##.#....#########...##........#######","...##........#######.............#######",".............#######.............#######",".............#######..............######","..............######..............######","..............######................####","................####...................."}
Returns: 526556666
{".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................",".......................................","...................#.........#.........",".........#.........#.........#.....#...",".........#.....#...#.#.......#...#.##..",".#.......#...#.##..#.#.#..#.##...#.##..",".#.#..#.##...#.##..#.###..#.##...#.##..",".###..#.##...#.##..#.####.#.###..#.###.",".####.#.###..#.###.#.##########..#####.",".##########..#####.#.##########.######.",".##########.######.############.######.","###########.######.############.#######","###########.###################.#######","###########.###########################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################","#######################################"}
Returns: 583929924
{"################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","################","##.#############","#......#.#.#..#."}
Returns: 920722959
{"...........####","............###",".............##","...........####","..........#####",".............##","...............","..........#####","...........####","..........#####",".......########","............###","...........####","...........####","...........####","............###","............###","...........####",".........######","...........####","...........####",".........######",".........######","........#######","..............#","............###","........#######","...........####","...............","...........####",".............##","..........#####"}
Returns: 731803416
{"................####.........##########",".........###########...........########","...........#########..........#########","..........##########............#######","............########.........##########",".........###########........###########","........############..........#########","..........##########...........########","...........#########........###########","........############.............######",".............#######.........##########",".........###########...........########","...........#########............#######","............########............#######","............########.........##########",".........###########..........#########","..........##########.............######",".............#######.............######",".............#######.........##########",".........###########..........#########","..........##########.........##########",".........###########.......############",".......#############......#############","......##############........###########","........############.....##############",".....###############.........##########",".........###########..........#########","..........##########......#############","......##############..............#####","..............######...........########","...........#########..........#########","..........##########......#############","......##############..........#########","..........##########........###########","........############.........##########",".........###########.......############",".......#############........###########","........############.........##########",".........###########...........########","...........#########.............######",".............#######.................##",".................###..........#########","..........##########.............######",".............#######........###########","........############.......############",".......#############............#######","............###########################"}
Returns: 1
{"######...........","###########......","###########......","#########........","############.....","#######..........","##########.......","############.....","###########......","############.....","###########......","#########........","#######.........."}
Returns: 758607223
{"...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...................#.....","...................#...........#......##.....","...........#......##...........#.##.#####....","...........#.##.#####..........##########....","#..........##########..........##########....","#..........##########........############..##","#........############..##..#.################","#..##..#.###################.################","########.####################################","#############################################"}
Returns: 90391641
{"####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","####################","##############.###.#","##############.###.#","##############..##..","##############...#..","###...#####.#....#..","###...#..#..#....#..","..#...#.....#....#..","......#.............","....................","....................","....................","...................."}
Returns: 22945067
{"...#","..##",".###",".###","####","####",".###",".###",".###","####",".###",".###",".###","..##","..##","####","..##","..##","####","####",".###","####","####",".###",".###","####","..##","####",".###","####","..##","..##","####","####",".###","..##","####","####"}
Returns: 902252906
{"...........................................","..........................................."}
Returns: 1
{"#####.............","####..............","###...............","####..............","######............","########..........","######............","######............","####..............","#########.........","####..............","#####.............","####..............","####..............","###...............","########..........","####..............","#######...........","####..............","######............","####..............","###...............","#######...........","####..............","########..........","##########........","#####.............","#######...........","#######...........","####..............","##................","#####.............","#####.............","###########.......","##########........","######............","#####.............","####..............","####..............","######............"}
Returns: 683578128
{"...........#########......","........############......","........############......","........############......",".......#############......",".......#############......","......##############......","......##############......","......##############......","......##############......","......##############......","......##############......","......##############......","......##############......","......##############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############.....#",".....###############....##","....################....##","....################....##","....################....##","....################....##","....################....##","....################....##","....################....##","....################....##","....################....##","....################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################...###","...#################..####","..##################..####","..##################.#####",".###################.#####",".#########################"}
Returns: 22345947
{"########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","########################################","####################################....","################....#######.............","#######.............#####...............","#####...............###.................","###.................#...................","#.......................................","........................................","........................................","........................................","........................................","........................................","........................................","........................................","........................................","........................................"}
Returns: 391850458
{".....................................","....................................#","................####...............##","...............#####...............##","...............#####...............##","...............#####..............###","..............######..............###","..............######.............####",".............#######.............####",".............#######............#####","............########............#####","............########............#####","............########...........######","...........##########################","#####################################"}
Returns: 125709875
{"..................##..............######.......","..............######.............#######.......",".............#######.............#######.......",".............#######..............######.......","..............######...............#####.......","...............#####.............#######.......",".............#######............########.......","............########...........#########.......","...........#########..........##########.......","..........##########.........###########.......",".........###########.............#######.......",".............#######............########.......","............########.............#######.......",".............#######............########.......","............########..........##########.......","..........##########............########.......","............########...........#########.......","...........#########........############.......","........############..............######.......","..............######.............#######.......",".............#######............########.......","............########.............#######.......",".............#######.............#######.......",".............#######.........###########.......",".........###########..........##########.......","..........##########...........#########.......","...........#########.............#######.......",".............#######............########.......","............########................####.......","................####...............#####.......","...............#####.............#######.......",".............#######............########.......","............########........############.......","........############.............#######.......",".............#######..............######.......","..............######.............#######.......",".............#######............########.......","............########...............#####.......","...............#####...............#####.......","...............#####.............#######.......",".............#######...........#########.......","...........#########...........#########.......","...........#########...........#########.......","...........#########.............#######.......",".............#######........############.......","........############...........#########.......","...........#########...........................","........................................#######","....................###########################"}
Returns: 1
{"#######################","#######################","#######################","#######################","#######################","#######################","#################...###","##########..........###","#########...........###","#######.............###","######..............###","######..............###","#####...............##.","##....................."}
Returns: 581842959
{"..........##########.###################..####",".###################..##################...###","..##################...#################......","...#################......##############......","......##############..............######......","..............######............########......","............########.......###################",".......#######################################","##############################################"}
Returns: 1
{"######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","######################################","####################.##.#############.",".##.#############.##.##.#############.",".##.#############.##.##.######..#####.",".##.######..#####.##.##.######..#####.",".##.######..#####.##..#.######..#####.","..#.######..#####.##..#.##...#...####.","..#.##...#...####.##..#..#...#...###..","..#..#...#...###.................###..",".............###..................##..","..............##......................","......................................"}
Returns: 697735736
{"................................","................................","................................","....................#...........","#...................##..........","##..................#######.....","#######.............############","############........############","##############......############","##############......############","################....############","##################..############","###################.############","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","################################","####################............"}
Returns: 1
{"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#",".",".",".",".",".",".",".",".",".",".",".",".",".",".",".",".","."}
Returns: 353793174
{".....#########################################","##########################.#############......","######.#############........############......","........############.........###########......",".........###########..........##########......","..........##########..........##########......","..........##########..........##########......","..........##########...........#########......","...........#########............########......","............########............########......","............########................####......","................####.........................."}
Returns: 1
{"#############...........................","....................##############......","##############......###############.....","###############.....###############.....","###############.....################....","################....################....","################....################....","################....################....","################....#################...","#################...#################...","#################...#################...","#################...##################..","##################..##################..","##################..##################..","##################..###################.","###################.###################.","###################.####################","########################################","########################################","########################################","########################################","########################################","########################################","########################################"}
Returns: 1
{"...............#####............########","............########...........#########","...........#########...........#########","...........#########...........#########","...........#########...........#########","...........#########..........##########","..........##########..........##########","..........##########..........##########","..........##########.........###########",".........###########.........###########",".........###########.........###########",".........###########........############","........############........############","........############........############","........############........############","........############........############","........############........############","........############.......#############",".......#############.......#############",".......#############.......#############",".......#############.......#############",".......#############......##############","......##############......##############","......##############......##############","......##############......##############","......##############......##############","......##############......##############","......##############......##############","......##############.....###############",".....###############....################","....################..##################","..######################################"}
Returns: 238723042
{"#########################","#########################","#########################","#########################","####################.####",".###################.####",".###################.####",".###################.####",".###################..###","..##################..###","..##################...##","...#################...##","...#################...##","...#################...##","...#################...##","...#################....#","....################....#","....#.##############....."}
Returns: 776362885
{"................................######","............########........##########","........############............######","............########..........########","..........##########........##########","........############.......###########",".......#############..........########","..........##########.........#########",".........###########...........#######","...........#########......############","......##############........##########","........############..........########","..........##########.....#############",".....###############.........#########",".........###########......############","......##############.........#########",".........###########....##############","....################.........#########",".........###########.........#########",".........###########.........#########",".........###########......############","......##############.......###########",".......#############........##########","........############......############","......##############..........########","..........##########.........#########",".........###########.....#############",".....###############........##########","........############......############","......##############......############","......##############........##########","........############...###############","...#################..............####","..............######.....#############",".....###############........##########","........############...........#######","...........#########........##########","........############.........#########",".........###########.........#########",".........###########...........#######","...........#########........##########","........############......############","......##############.........#########",".........#############################","######################################"}
Returns: 1
{"#################","#################","#################","#################",".################",".################",".################",".################",".################",".################",".################",".################",".################",".################",".################","..###############","..###############","..###############","..###############","..###############","..###############","..###############","..###############","...##############","...##############","...##############","...##############","...##############","...##############","...##############","....#############","....#############","....#############","....#############","....#############","....#############","....#############","....#############",".......##########"}
Returns: 685621144
{".#########################################","########################################.#","####################.###################.#",".###################.###################.#",".###################.###################.#",".###################.###################..",".###################...#################..","...#################...#################..","...#################...#################..","...#################.....###############.."}
Returns: 1
{"..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..","..",".#"}
Returns: 86
{"...................","...................","....#..............","#####..............","#####....#........."}
Returns: 500000
{"#################...","################....","################....","################....","################....","################....","################....","################....","################....","################....","################....","###############.....","#############.......","########............","####................","#..................."}
Returns: 837488982
{"#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#################################################","#############################...........#####....","#########...........#####...............##.......","#####...............##..................##.......","##..................##..................##.......","##..................##...........................","##...............................................",".................................................",".................................................",".................................................",".................................................",".................................................",".................................................",".................................................","................................................."}
Returns: 169783960
{"###..","###..","###..","##...","#####","####.","###..","###..","##...","####.","###..","#####","####.","####.","####.","#####","####.","###..","##...","#####","###..","####.","###..","####.","###..","###..","####.","#####"}
Returns: 812509576
{"####...","#######","####...","#######","#......","#######","####...","#####..","######.","###...."}
Returns: 544143118
{"#########","#########","########.","########.","########.","#######..","#######..","#######..","#######..","#######..","#######..","#######..","#######..","#######..","#######..","######...","######...","######...","######...","######...","######...","######...","######...","######...","#####....","#####....","#####....","#####....","#####....","#####....","####.....","####.....","####.....","####.....","###......","###......","###......"}
Returns: 344248776
{"...........","...........","......#####","...########",".##########",".##########","###########","###########"}
Returns: 734695914
{"................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","................................","....................#...........","#...................#...........","#...................#...........","#...................##..........","##..................##..........","##..................###.........","###.................####........","####................########....","########............############","#############.......############","###############.....############","##################..############","###################.############","###################.############","################################","####################............"}
Returns: 1
{"################....####................###","####................######..............###","######..............######..............###","######..............###.................###","###.................########............###","########............######..............###","######..............########............###","########............########............###","########............###.................###","###.................#####...............###","#####...............######..............###","######..............###.................###","###.................#######.............###","#######.............#######................","#######....................................","...........................................","..........................................."}
Returns: 1
{"...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................","...................",".....#.#...##......",".....#.#...##...#..",".....#.#...##...#..",".....###..###...#..",".....###..###...#..",".....###..####..##.",".#.#.###..####..##.",".###.####.####.####",".#############.####","###################","###################","###################","###################","###################","###################","###################","###################"}
Returns: 646694621
{"#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#######","#####..","###....","##.....","#......","......."}
Returns: 44560313
{"#.", "##" }
Returns: 4
{"....", "##..", "###." }
Returns: 396