Problem Statement
People enjoy mazes, but they also get them dirty. Arrows, graffiti, and chewing gum are just a few of the souvenirs people leave on the walls. You, the maze keeper, are assigned to whiten the maze walls. Each face of the wall requires one liter of paint, but you are only required to paint visible faces. You are given a map of the maze, and you must determine the amount of paint needed for the job.
The maze is described by a
For example, the following picture represents a trivial maze with just one (wide) entrance and only four empty reachable spaces:
To whiten this maze you must paint the faces highlighted in yellow above: 16 for its perimeter, plus 8 interior faces. Note that there are faces that are not visible and thus need not be painted.
Definition
- Class:
- TroytownKeeper
- Method:
- limeLiters
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int limeLiters(String[] maze)
- (be sure your method is public)
Constraints
- maze will contain between 1 and 50 elements, inclusive.
- Each element of maze will contain between 1 and 50 characters, inclusive.
- All elements of maze will have the same number of characters.
- All characters in maze will be either '.' or '#'.
Examples
{"########" ,"#.#....." ,"#..#####" ,"#.#....#" ,"###.####"}
Returns: 46
{"##..#" ,"#.#.#" ,"#.#.#" ,"#####"}
Returns: 24
Example from the problem statement.
{"#############################"}
Returns: 60
{"##", "##"}
Returns: 8
Only the perimeter of the maze (which has no interior!) has to be painted.
{"######" ,"#....." ,"#.####" ,"#.#..#" ,"#.##.#" ,"#....#" ,"######"}
Returns: 56
{"#############################","#############################","#############################","#############################","#############################","#############################","#############################","#############################"}
Returns: 74
{"####..#...####..###...#..###.####.#","....##.#.#.####.#.#..#.###.##......","#...##.####...#....#..#..#.#..##..#","###.#..#.#.#.##.##.####.###.....###","...#.#.##.#.##.######.#.#.#...#..##","#####.#.#.#.#..#.#.#.#.#...##..#..#",".#.#####.###..##..#.....#...####..#","....###....#####.#...##.#..#....##.","....##...###....#..##.#.#.#######..","..####.....#.##.##.#######.#.##.#.#",".####.#.##..##.#.##...###......#.#.","##.#.#.####..#.#.#.#.#.##..####.#.#",".#.#..##.##.#####..#.##.###...####.","..###..#####.##..##..###.###..#####",".###.#.#.#..##..#..###...##.#.#.#.#","..##.##.#####.#.#....#.#######.#.#.",".....####..#..#..##.####.#..#####.#","#.###..##....#...##.#.#..#####.#...","#..######..#.##.###.#.#.####.#.#.#.",".###....####.#.#..#.###.#.#########",".#.###..###..#..##..#.#.#.###.##..#","##...##..###....#.#######.#...#####","#.#.#.#.###.####.###.###.##.##.####","##.#.######.#...##.#..#.#....##.##.",".....#....#.###.##.###....#...#.###","#.#.#..##.####.#..#...#...#.....##.","#.#.##.#####...###..#...#..##.####.",".###..##..##...###.#.....###.#.##.#"}
Returns: 384
{"###.#.###.###..##...#.##..",".#.#..#.##.##.####.##.####",".#####.#####...#.##.#.##..","#.#.####.#.############.##","##..###..####.#..#.#####.#","###..##..##.#...###.#.###.",".#.##.#####.##.#####.####.","###.##...###.##.##..##...#","##..#...#.#..#####...#.#..","###..#.#..##.#.#.######.#.","###.#..#....########..###.",".#...##..#.#.#.#.#..###..#",".#######....####..###.#.##","##..##..###.############.#","#..#####.#..##..#.#......#","##..########.##.#.##...#.#","##.#..#.##...##.#.#####.#.","##.#...#.###..#.######.###","###.##.###..###..###..##.#","#..####..###..###.#..#.#.#","...##.#..#..##.#.###.#####",".#...##...###.#.##.###.##.","##...#..#.###..####....#..","###..#########.##.##....#.","##..##...####.##########..","#.###...###....###..####..","##.##.#####..##.##.##.#.#.","###.....#########..####...","##....###..####.##..##...#"}
Returns: 234
{"####.################","########.###.###.#.##",".##########.#######.#","######.##############","#.######.#######.##..","#######.##.#..#####.#",".#.##.########..##..#","##.#######.#####.###.","#.######.##.##.#.###.",".###.#..###########.#","###.##.#.##..#..####.",".#..##.######.#######","#######.#############","##..#######.#.###.###",".##.#.#..#.###.###.##","#####.#.###.###.####.","###.#########.#######","##.###.###########.##","#.#...#####..####..##","##########.######.###",".#####.##.####.##.#.#","..###.##.##..###.####","####.################","#.#####.######.######","#..#..###.###########","#####.#####..########",".###..##.#######.####","##.###.#########.####","#############.##.####","#####.#########.###.#","###..#############.##","####..#.#.#######.###","###.##############..#","..#########.#######.#",".#..########.#####..#",".######.#####...#####","#..####.#.##.#.######","####.##.#########.#.#","###############.##...","##..#.#.##.###.####.#","###.#.####.######.###","##.##.###.#####.####.","##.###..########..##.","#######.#############",".######..###########."}
Returns: 190
{"...#.#####..####....###.#..#.###.#",".#####.####.........##.#.###.##.##","..#.#...#..###.#....##.#..####.###","#....###.#.###.#########..######..","#......#.###..#######.##.#.#.#.###","#.##..###.##...###....#####..#.#..","##.######....#..#.#....#.#..####.#","...##.#.###.#...###.#####.####...#"}
Returns: 194
{".#......","..#..#.#","##.#.#..","###.#...","..#.....","..#####.",".#.#.##.",".######.","##...#.#","#..#.#..","..##.##.","##..###.","###...##","#.###.##",".#...#..","..######","##..####","...####.","#.##...#","###.####",".###.#.#",".###.#..","##..#..#","##.##...","#.#...#.","..#....#","###....#","...##.#.",".##..###",".####..#",".#.....#","##...###","#####...",".###.##."}
Returns: 200
{"####.#######.############################.#####","#############.#################################","###############################################","###############################################","###############################################","#####.################.########################","##.############################################","###############################################","#.#############################################","#######################.#######################","########################################.######","##################.############################","###.###########################.##########.####","###############################################","###############################################","#####.#########################################","###############################################","############################################.##","######.########################################","###############################################","######.##########################.#############","#######################.###.###################","################.####.#########################","################################.#.############","############.##################################","##################################.############","################.##############################","###########################.###################","###################################.###########","##.#.#########################.################","###############.#####################.#########","###############################################","###############################.###############","################.#################.############",".########################################.#####","##############################.################","################.#######################.######","####.################.######.######.###########","################.################.#############","##########################.###########.########","#######..#.############.####################.##","############################.##################","###############################################","####.#########.########.#######################","#############..################################","#####################################.#########","########.#########################.############"}
Returns: 200
{"..#.#..#...####...#......#.....##...##...",".##.....#.###...#..#..##....#..##..#..#.#","#.#.#...#.#..#........#..#.....#...##.#..","##.##..######...##.##....##..#####...#...","...##.#.#.###.#..##..#..#...###.#..##..##","...###.##...#.###.#.......#..#....####...","...#.#.#.......#.....#....#######..##.#..","#.####...###.#.#.##.......###.##....#....","#...#...#..#...#.#.#.#.##.########..#.##.","#.#####...#...##..#..#...........#....#..",".#..##....#.........#...##..##..#..#####.","#.#..#..###.##....##.#..###..###...##.#..",".#..###......#.#.###...###..#.#...###.###","...##.#.#.#.....#..#.#....##.#..##.##..#.",".#.###..###.##...#.#.#..######...#..#.##.","###.####.####.###....#..#.#.#.....#.##..#","#....####....###.#.##....##.....##..#####",".#..##.##.#..#...####.#.###....#..##.....","##....##..##.......###.##.#.##.#....#.###","..####.##...#...#..####.#.##.#...###.#.##","....#......#.###..#...#...#.#.#.####.##.#","#####.#.#......#.#.##...######..#.##..#..",".......##..#..#...#....##..#.#....##...##",".##..........#####...#..#...#..######.##.","##.##.##.##.##.#...#.###.##.#####.#..####",".###.#.........#.###.#..#....#.#.#.....##","..#...#....###..##...#...#.#..#..##...#..","...#...##..#...#.#.#...#.#..#.#.#.##.###.","...#.#.#..####.##.#.#...#####.#.#...#....","#####.##.##.#.#########..########.##....#","#####....##..#.##.#.####.##..##..##...##.",".#.#..###.#.#.#...###.##.#.#...##........","#.###.......##..##.#.......#..#.#...#.###",".##....##....##.#..##.####...##.#..#..#..","#..####...##.###....#.#..#.........#####.",".####..##.#..#.....#.###.###..##.#..#....","...##..#..##.#.#...####.###...#####...#..","..##..#.#.####.#.#####.#.##.##.##..#..###","##.####.#..#.#...#..##.#.#.##.##.#...#..#","...#..#..#...#..#..........#....##.#..#..","##.##...#...###..#.#.###.#..###.##..##.#.","##..###.####.#.#.#...#.#..####....##.#...","##...#.#.....##..##.#..##..#..#.....#..##","#..#.#######.##........##...###....#..#.."}
Returns: 1380
{"##########.#######","##################","###############.##","##################","##################","##################","################.#","#########.########","#.################","##################","##################","##################","#####.############","##################","##################","###.############.#","##################","##################",".#################","##################","##################","#########.#####.##","##################","#############.####","##################","##################","##################","##################","##.###############"}
Returns: 100
{"########..######.#.##.###","###.####..######.########","####..#.######.####.#####","#....#########.#.########","######.####.##.###.######","#####.####...####.######.",".##..####.########..##.##","####.#.#.#######.##.####.",".#.#.###########...####..","###.##.######.#########..","#.####.##.#....##.#######","####.#######.#.###..####.","##..##.####.#.###.#####.#",".###.#.##...###########..",".###..#########.###.#..##","#########..######.##...##","..#######.#############.#","##########..###########.#",".#.#.#######..##.####..##","#..####.######.##.###.##.","######.##.####..#.###.###","##.##.######.##.#########","#########.######..##..###","###################.#.###","#######..#########.#.#.##","###########..##.##.######",".##.####..####.####.####.","##.###################...",".#####...#####.##..#####.","####.####.#######.#######",".###..###########..####.#","###########.####.####.###","######..########..##..###","..#######.#.########.##.#",".#.######.##.#.####.###.#","..###.######..##.########","#####.###.#######.#.#####","####.#########.##.#.#####",".##..##.###...##.#.#.##.#","##############.##.#.#####",".######.#####..######.#.#","##########.#####..###.###",".####..#.######.#.###..#.",".########.############.#.","####..#######.###########","##########.###.#.#.###.##"}
Returns: 218
{"#####","#...#","#...#","#...#","#.#.#","#...#","#.#.#","#...#","#####"}
Returns: 28
cannot enter
{"##################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#...#...#...#...#...#...#..#...#...#...#...#...#.#","..#...#...#...#...#...#...#..#...#...#...#...#...#","##################################################"}
Returns: 280
longest snake
{"##################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#...#...#...#...#...#...#..#...#...#...#...#...#.#","#.#...#...#...#...#...#...#..#...#...#...#...#...#","##################################################"}
Returns: 200
cannot enter
{"##################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","#................................................#","#.################################################","#................................................#","################################################.#","...#...#...#...#...#...#...#...#...#...#...#...#.#",".#...#...#...#...#...#...#...#...#...#...#...#...#","##################################################"}
Returns: 2600
longest snake
{"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}
Returns: 0
big, empty
{"..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "..................................................", "..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#."}
Returns: 2400
spread squares
{"..#.#..#.....####.#..#.##..#..###.#","....#.##..#..#..##...#...#..###.#.#","...####.#.#.###..#.##.#.#..#.#.#.#.","...#..##..#.#...###.#..#.###.#.....","##..#.#...##...#.#..#####.####..#.#","#...#..##..#.#.#.#.####.#.#.#.##.##",".#.##.#...##..#.#...#.#...#####.#..","#.#..######...##.##..#...###..#.#.#","#.#.##....###.#.##.###.#..####.###.","#.#.##...#####..#.#...###.#...#..##",".#.#...####.#.####...#.##..###.#..#","###.#.#..#.#.#.#.##..#.....###.#...",".##..##..#.##.#..#######......#..#.","##..#..#......##..#.###.#.#.#.##.#.","#####.#.##.##.#..#..#..#...##..##.#",".#..#.#.#..##.##..#.#...#.##.#.#...","...##.##..#....#..#..##.########...","#.####...######.####.#.#..##.#...##","#..#.##..#...#...###.####..#.#####.","..##.###.#.########.####.....#....#",".##.##.###.#..#..##..#.###.#.#...#.","#..####..#.###.....#########.#..###","..##.###..#..########.######.......",".##.##....###.##...##.##..##.#...#.","#####.##.#..##.####.#...#.##.###.#.","###..####....#.#.##.##..##...##....","...#.##.#..##.#.#..#####...#.##.#.#","......###.#.#.#.########.##.####..#","##..###..##.##.##.#.....##.#.....##","#...##...##.##.##.##.##..#.##..#...","...###....#.##.##.###...###.######.","###..##..#..#..###..#.#.##...#....."}
Returns: 500
{"#..###....###","#..#.##.#.#.#","###.#.#.#.#.#","..#........#.",".##..####...#","##########.#.","#.....#..##..","...##.#..##..","..###...#...#","..##..##.##.#"}
Returns: 128
{"....#.###..#.#....#..##..##..#.#......##.#..#...","###.#.#.#.#..##...#.....#...###.#..##..#.#...##.","#....#....#.####..##.............#....#...#.##..","#.#.#..#.........##..#..#.......#.##......##...#","....##.#.###......##...#...###........#...##..##","...#...##..##.##..#.....#.#..#.####...#...##.###","##..#.#.#.#...##....#.##...#..##..#.#...#.#.....","......#.#.#..##.##....#...#...##...####.#......#","##..#.#...#..#..#..##.##....#.##.#..###...#..#.#","#.#...#.#.#..#...##......#.##.......##.#.#.#.#.#",".#......##.##.....#.#.#...#..#.....#.....##..###",".....##...#.......##.#..#........#.....###.#.#.#",".......##.#.#......#...#.......#.......##.....#.","..####..#.#.#.......#..#.#.#......#.#........###","....#........##..#..##..#.#...#.#.#.##.###.#.#.#",".#..#.....#.#...##..#.##.#...#..#.#.....##.#.#..",".##..#..#...#..#......#..#.#...#....#..#...#..#.","....##.#..#.###..#...#.##..##...#.#.#..#.###....","#....##.##...#.#...#.....#.#.#.....##..##.##....","..#...#...#.....#..#...####..#.#.....###.#......","#.....#.#..#...##..#...#...#.#.##...###...#.##..","....#..#.......#...#.##.#.#.#..#..##.#...##..#..",".####...##.#.#.#...#.....##...#..#.#.....##....#","......###..##.....#...##...#....#.#.#.....#.#.##","##......#........#####...#...#..........#..#####","##...#.######.##.....#....##.#.#.##.##..#......#","..##.#.#.....#...........#.#.##.####....#.#.#...",".#..#.#..#.#.........#.#.#...#...##...#.##.#.#..","#.....#...#........##...#.##.#..###...###.....#.",".##.#.....###...#.####..###.###.#####.####..###.",".#..#......##.#...##..#....###..#.#.###.#..#.#..","##........#.#..#..#.#..#..#.#..#...###...#...#..","........#..##.#..#.#.......##.......#.....###...","......###.#...##.#..#...##...#.#.##........####.","...##.#.#..#...##.##........###.#......#.##...#.",".##.###.#....##.#..###...#.##.##.............###","#.....#.#........#.##.###..#....#..#............","..##.###.#.##..#....#....##.###.#....###...##...",".#...#..#....####.#..##.##.##..###.#..##...#.#..",".######...#.##....#.##...###.#...#....#......##.",".#....#...##.#........#...#.#.....##..####......","..##..#..#..#.##..##.##.....##..#.###..##.##.##.","....#...#.#...#...#..#...#.........#........#.#.","..##.#...#.###....##..###..#..#.#.#.##..#..#.###"}
Returns: 1798
{"#.#....#......##","##.##.#.#...#...","##..#...#....#.#",".#.###.#...#...#","...#...####..#.#",".....#...#...#..","#....#.##...##..","#.####....##.##.","####.#..#..#...#",".###...#.#.####.","....##...#..#...","##.....###..#.#.","...#.#.#..####..",".###.##.#.#.....","#...#.#.....##..",".##.##.#..#.....",".#...##..#.#..#.",".###.##.#.##..##",".........###....","..#........###..","......##......#.","..##...#.####.##",".#....#..#.#.###","#....##...#.....","#.....#.#..##..#",".##..#.....##.##","#.##...#..####.#","....#..##.#....#","..###.####.####.","#.#####.#####..."}
Returns: 428
{"#################.######.##.############.########","#####.###########.###############################","####.#############.######################.#######","#####.#################################.#########","##########.##.#####.##########.########.#########","###########.##################.##.#############.#","#########.##################.###############.####","##############.#.##..######################..####","###############.#####.#.####.####################","########.########.###.######.#########.##########","#####.#######.##############..######.#.#####.####","#.###########################.#.#######.###.#####","############.#######.###.######.#######.#####.###","######################.########################.#","#################.###.#########.##.####.#########"}
Returns: 148
{"#.###..#..#","#...#.##.#.","#..#.#....#",".####..####","#....#.#.##",".....#..###","..#.#..#.#.","..##.#.#...","....#.#.#..","#..##...###","...####.##.",".##..#.##.#","##.##..#.##","##.#.##....","....#..#..#"}
Returns: 144
{"####################################","############.#########.#############","#########.##########################","####################################","####################################","####################################","####################################","################################.###","#################################.##","####################################","####################################","###############.####################","####################################","######################.#############","####################################","####################################","####################################","####################################","####################################","####################.###############","####################################","###################.################","######################.#############","####################################","####################.###############","####################################","####################################","####################################","####################################"}
Returns: 130
{".#####.##.####...#.###..#..######..","##.#..###..#####.#.#.##.########.##"}
Returns: 94
{"############################","###.#######.################","############################","############################","####.#######################","###.########################","############################","############################","######################.#####","########.###################","##############.#############","######################.#####","##############.#####.#######","##########.#######.#########","############################","############################","##.#########################","################.###########","############################","#############.###.##########","########################.###","#.##########################","############################","#########################.##","##.#########################","##################.#########","#######################.####","############################","###########.################","############################","############################"}
Returns: 118
{"#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################","#####################"}
Returns: 140
{"#.###...##",".#.##.####",".#.#..####","##.#...###","##.#####.#",".#..##.###","##..#..#.#",".####..##.","...####...","###.#.###.",".##..#.#.#",".#####.#.#","###.####..","########.#","...#..#..#","#..######.","...#..#.##","###..#.###",".#.####..#","##.#.#.###",".#.#.###..","####.#.#.#",".#.####.#.",".#.......#","#..#####..",".#####...#","#.#...#.#.","...###.#.#",".#.##..##.","#.#..####.","#######.##",".###....##","#####..#.."}
Returns: 220
{"#############..####.##..###...##.#.##","#.####..######.##.##..#.##.....#..###","..########..#....##.##.####.####..#..","####.###.#.###..##..####..##.#.#####."}
Returns: 146
{"##########.########.##########","##############################","##############################","#######.#.###.##.#############","##############################","##############################","########.###.####.##.#####.###","######.##########.##.#########","############.###.#############","###############.##############","##########################.###","#.##.###########.#############","########################.####.","##############..##############","#################.#.##########","#.##################.#########","####################.##.######","#######.######################","########################.#####","###.########.##########.#####.","##########################.###","##########.####..############.","####.###.########.############","#.############################","#.############..####.##.###.##","#.#.###########.##############","#######.#######.#.#.##.#######","#################.############",".########.####################","##############################","###.#########.#######.#..#####","#########.#########.##########","##.###.######################.","##########.######.############","###.######.###################","#####..#####.#################","######.#######################"}
Returns: 154
{"...##...##..#.##....#.",".#.#.##...#..##.##...#","###......#..#.....#...","..#........#.#.###.##.","##.###.#....##.##...#.",".###..#..#.##.###.####","..######.#..#.#...###.",".#..#####.#.#.#.#..#.#","#.....#.....##.#.#...#",".#....##..##..#...###.","...##.###.#..#..#.#.##",".##.#.##...#.###.##.##",".#.......####...#.....","...#..#.#...#.......##",".##...##.#.#.###.#.###","###.#.#..##....#.#.##.","..##...#..##.##...#..#","#.#....####.##.....#..","#.#..#...#..#....#.#.#",".##.##.#.#...###..#.##","..##.##....####..#.###","........###.#....####.","..####.##..####.....##","###..#..#......##....#","#..#.#.##.###.#.#...##","...#...#.#.####.#.....","..#...####.#####.#####","#.##....#..#.#.#..#.#.",".#........#.#...##..#.","###..#..##.#.......#..",".#.#.#...##.....##...#","###.#.##..#####..##...","#..#...#..#.##....###.","..###..#.#.###...#....",".##..#.....#......#...","#...##.##.....#..#...#","#.##..#...###..#..#...","..#.#.####...#.###...#","....#.##.###.#..#..#.#",".#.###.....#.###......","....##..#.#..#...####."}
Returns: 710
{".#.##.#.#######.#.#","#..#########.#.####",".#.#.#########.#.##","####..#.#####.#####","#######.###.#######","###.##.#.##.##.#.##","##..#.#.###.#.###.#","#.#.##.###..##.####","#######.....#..####",".##.#####.##.#.#.##",".##.##.##...#.#####",".##.##.###.##.###.#",".###..###.#####..#.","#.########.#..###..",".#.#....#...######.","##.####.#.#.######.","####.######..#.#..#","###.##.#########.##",".##.######.#####.##","#..###.#.####.#####","###.##.####.#####.#","..#..#..####.###..#","#.#.##..#.#####.#.#",".#..#.####...###.##","..#..##..####..####","##.########....##.#","#.##.##.####.######","##.#####.########.#","##..###.########.##","#.#.##.##.##.###.##","#####.###.#####.###","######...###..####.",".##.#########.#####","###.########.#####.","#####.##########..."}
Returns: 152
{"##",".#","#.","..","..","##","##","..","##","..","#.","##","..","#.","#.","##","#.",".#","#.","##","##",".#",".#","..","##","..","..","#.","..","#.","##","##",".."}
Returns: 84
{"######.##.","###..#####",".####.####","###.##.###","##########","##########","##########","##########","##########","####.#####","##########",".##.######","##########","##########","#########.",".#######.#","###.###..#","##########","########.#","####.#####","##.#######",".#########","#####.####","##########","####.##.##",".#########","#.#####.##","##.#######","#########.",".####.###.","####.#####","####..#.##","##########","#####.####","##########","##.#######","########.#","##########","###..#####","####..####","#.###.#.##","########.#","######.##.",".###.#####","########.#",".#########","########.."}
Returns: 138
{"......#.##...#.#...#....",".....#..#.....##.##.....","##.#.#..##...##.#..#.##.","..###......###..###..#..","..#........##.....#..#..","...##.....#..#..#..###..",".......#....#.#.....###.","#.....##.###.........#..","###.#....#....#......#..","#.##.....#...#....#.#.##","#.....#.........##.#.#..","##..##.....#.#.....##.#.","...#...#........###..#..","##..#..#.....#.....##...","###..#.###.....#.....#..",".#.#.#.##...##....#.....",".#..#..##.#........#####",".#......###....#......#.",".##..#.......#....#....#","..##.#.#...##......#...#","#..##.###....##....#.#..",".........#...#...##..###","#...##.#.#...#.....#...."}
Returns: 452
{"####....#...#....#....#..##.#..............##.###","#...####...#.#...#.....#......##..###..##....###.",".##....#.#...#.....#..##.##.........##.#.#.#..##.","..#..##..#....#...........###...#..######..#.#.#.","#...#####.##...##.#.#..#.............#.########..",".......#....#...#.#...#....##.##..###.##..#...##.","...#..#.....#..###....#...#..#..#...#.#..##.###..","....#.#...#.##.####.#.....#..#..#......#........#","..#...#.#....##.#..###...#.#....#.#....#...##.#..","....#...##.....#..#.....##..##..#......#.........","...#....##.#...#...##.....#...#.....#.##........#","##..#........#..###...#.##.....###.###..#..###..#",".....#....##.#...#..#.#..###....#..##....#.#.###.","##.##..#..#..#.........#.##..###..####..###.#..##","#...#.#..##.##.#..#....#.......#..##.##.#........",".......##.###.#.###.#....#..###..#..#....#..#....","..#.#.#.##..#....#...##....####..#.#...#...###.#.","##.#.#.#..#...#..#....##.#..##....#.##.#....#...."}
Returns: 764
{"###..#.###...###.##.##########","#.#####.###.##.#.##########.##","###.####.#.####.##############","###.##.######.#####.########.#","###.#########.######.#########","#################.##..####.##.","####.#######.###.####.#.##..##","################..###########.","##.##.##########.########.####","##############################","####.########..###..########..","##.###...###..#####.#####.####","#############.#############..#",".#####.####..#.########.######","##.###.###########.####.######","##.#####.###..###.#########.#.","###.#.#####.##.#######.####..#","#########.###...##.###########","######.########.#####.###.####","#########..###################","#####.#####.###############.##","#####.###############.########","######.#...#.########.##.##.##","##.#####.#.#####.########.####","####..###########..##.########","########################.#####",".################.############","######.#####.#.###.###.####.##","##############################","##.#.#######.###.###.#########","#####.#.##########.#####.#.#.#","###.#####.####.###############","######.########.########..#.##","#####.######.########.########","####.#######.##.####.#.#######",".######.######.##.#########..#","#.############..###.##########","###.#####.##.#.#######.#######",".#######.############.####.###","#####.########################",".###.###.#.#..############.###"}
Returns: 184
{"####..........##.#........#...#.#......#####.",".....##.####.#..###...#.##.#####.............","##...#.#.#.###..#.#..#....##.#.#..#.#..#####.","#.#..##..#.##.##.##...#.##.......#..#..#.#.##",".#.......###..##....#.#.#.#......#.#..##.##.#","..#..####..##.###..###.#..####...##.#..#.....","#######.#.....##..#..#.#..#.......##..##...#.","...#....#.#.#.#.##.#.####..#..#.#..#......#.#","###....##......###...##.###...##.....#.#.####","##..#..#..#..#.#.###.##..#..............#..#.","...........#..##.###.#...#..##..#.........###","#.#......#.#....#.#.##.##.#..#.##...#....#...","####..#...##..#..#.##.##.#.#...#....######.#.","#...#..#.##..#..##.#####.#.####..#..#..#..##.",".....#...##.#.....#.#.......#.#..#####.#.#...",".#.....##...#.#.#.#.##..#.#..##.###.#..#.#...","..#...........#..####....#....#####.#.#...##.",".#......#..#######.....#.#..#...#.#...#......",".......##.#.......##....##....#.#.#.###..#.##","#........###...####...###....###....#.##...##","#.##..#..#.#...###.#.####...##.......#.#.#.##","#....##.####.#.#.#.###........###.....#...##.","..#.#.......#.....##.....##.##..#.#.###.#.#..","##.####..#####..#..##.#..#.#..#.#.#...##.##.#","#.##....##.#.#.#.....#####..#..##..##.###.###",".#.#.#..#..##..#..#.#.###....###.#.#..#.#.##.",".#.#...#.###..#..##..#...#..###.#...#.###.#.#"}
Returns: 872
{".#.#####","##.#.##.","..##...#","..####..","......#.","####.###",".#####..",".##..##.",".###.#.#","#.######",".#.###.#","######.#",".###.###","..###..#",".##.##.#",".####.##","#..#####","..##.###","#.#....#","#..#####","#.####..",".#....##","....#..#","#..#.###","##.#...#",".#.##..."}
Returns: 160
{"..#.#..#.","#.#.#...#",".....##..",".#....###","....###.#"}
Returns: 48
{"..#.#...#....#..#.##.########...#","..###...##.#.##........#.#.#..##.",".##..#.##.##.##.#.#.##.#.#.##.###","...#.#..###...#.##.#.#.#..#....#.","#####...#..#..##.#.#.#######..##.","##...#.##.##..####...#.##.###.#..",".##.#..#....#.##.....#...#.###..#","##.##.....#.###..#.#######..##...",".....#...###.#####..#.#..#..###..","..###..####.#.#......##..#####.##","#.##...#.#..#.#.#.##..#####..##..","#...#.....##...##.###.#.#.#..##..","..###.#...#.#.#...#.######....#.#","...#..#....####..##....######.##.","##....###.#..##.####....##..###..","..#.##...#..####..#.##.####..#.#.","....##....#.#####.#####.###..#..#","###.##.##.#..##..#.#..#...#..#.#.",".#..#.#.#.....#...##...#..#.#.###","....#.##....####..#.#######......","#....#..#.#.##..#.##..##...#...#.",".#####.##.#.####.##....##.###.#.#","#......#......##..#..#..###.#....","#...#..###.#.####..##.#.##.###.#.","######...######..##.#...#..#...##","####.#.##.##..#......##....##..##","#.##..#..####..#........#.#...##.",".....#..###.###.#####....#.###..#",".####...###.#..#.......#.##.###.#",".##.##..#..#.#..####..##.##.#.###","##...##...#.......#...##.#.#.#..#",".##.#.#.##...###..#..#.#.....##..",".#..##...#..#......#.#..#..##....","#..#.##.##.#..#..#..#...#...####.",".#.#.#...##.....##.#.##.#...#####","########..#..........####.#......","#.#..####.#..#.##..#...#.##..#.#.","###.#..###....#.##.#.##....##..#.","#.....#.#.#..#.#.....#..####..#.#","....#.#.##...#...##.##...######..","#..#.#..#.####...#.#....#...##..#",".#.#.#.##.####........#.#......##","###.######.##.#########.#..##.###","..###...#.##..#...####.#.#.##..#.","....#..#####..#...#.##....##..#..","##.##..###.#...#.#.###..#.##...##","#.#..#...#..##....###.#.##.#..###"}
Returns: 778
{"############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################","############################"}
Returns: 128
{"####.#.#########.##########################.###","#####.##.#.#.#######.#..############.#####.####","####.################.#####.##############..###","###########################.######.###.##.#.###","###.###################.#####.######.#.########","##.##.####.##########.########.##############..","#############.#######.#################.#######","##############.#######.##.#######.######.######","####.#########.##################.############.","##############################.################","############################################.##","#####.#.#####.######.###.##.###########.#######",".########.#.######.#########.##################","#.###########..#########.#####################.","#######..###################.####..############","#########.##############.#####.#########.######",".##...##.#.################.##.####.###########","####.#########..#.#.######.##.#################"}
Returns: 168
{"#..#..##.##.....","...#..#....#....",".....#.......#..","....#.....##....","...##......###..",".........###..#.","..#.#.##.###..#.",".....####.###..#","##...#.#....#.##",".#.#.##..##....#","....#....##..#..",".#.##...##.#....","..#.#.#.......#.","..#...#####.#..#","..#....#...#....","..##..##..#.##..",".#...#.#....#...","##.##.#...#..#.#",".##......#...#..",".....###...#.#.#","#.#.##..#....#.#","#........##..##.","..#..#.###...##.",".##.............",".##.#.....#..#..",".......#...#..#.","...#....#....#..","##...#.#.##.###.","..#......#.#...#","..##...#...#....","##.#.#.#.#......",".#....##..#.....","...##..##.....#.","###.#...##...###","..###....#.#..##","..#..#..#.......",".##...##.##...##","....##.#......#.","....##.#...#..#.","..#..##...#.#.#.","...#.#...#..#.#.","......###.....#.",".#.#.#.#........","#.#.....#.#.###.","...####...#..#..","###..#..#.#....#","...##.#..###.#..","#.#..#..#..#....","..#..##.#.#..#.#","#..#............"}
Returns: 702
{"...#.#..#...#.#.###.##.#.#.#.##..#","###.#..###.###########.####.##...#","#.#.###...###..###..##.##.###.....","#..##..#..#.#####.########....#...","....#####.##...#..#.#...###.###.##",".###.###.##.#.###....##......#.###","...#.##.###...####...#.##..#.#....","#####.#.##..####.########...###...","####.##.##..#...#.#.#####.##.####.","####.##..###....#.########.##.##.#","#.#...#.#..##.##...#.##.#.##.####.",".###.###..#####.###..##.#.#.###..#",".###..####..###.####.##.#..#..#.##","#..#####.######...#.#.##.##.#.###.",".#.#.###.#.##.#...###.#..###.#.###",".#..#.####.###.#.#.....##..###.###","##.#.##..####.#.##.########.#.####","#####.##...#.#####.##..###.#..####","##...####.##..#####...##.##.#.##.#","..##.##.##....##.#.#.##.#.###.#.##",".#.#.###.####..##..###.##.#.....#.","#####..####.#...##....#....#..#...","##.##..##..###...#..####...#.#.###","#.##..####.#....#.....#.##..#....#"}
Returns: 344
{".##","##.","#.#",".##","##.","#.#","###","###","###",".##",".##","#..","###","###","##.","###","#.#","###",".#.","##.","##.","...",".##",".##","###"}
Returns: 76
{"###.####..#####.#####..#####","###....#####.#######.#.#.###","######.#########.######.####",".####.######.####..####.#.#.","##.#####.######..##..#####.#","..######..#.#########.##.###","##.######..####.######...###","###.##########.#.####.##..##","##.######.##.##.###.########","###############.####..####.#","##.###.#####################","###############.##########.#","######.#####.#############.#","###########.###.####.#######","#######..###################","#####.#######.#.#.####.#####","##..####.#.#########.####.#.","#.#..###.####.####.##.##.###","##########..#####.#.###..###",".#################.###.#####","######.##.#.#.#.######.####.","########.######.##########.#",".######.#######.############",".####################..#####"}
Returns: 140
{"######" ,"#....." ,"#..#.." ,"#....." ,"######"}
Returns: 36
{"#.#.#.#" ,".#.#.#." ,"#.#.#.#" ,".#.#.#."}
Returns: 36
{"######", "#.....", "#.####", "#.#..#", "#.##.#", "#....#", "######" }
Returns: 56
{"....................#...................." }
Returns: 4
{"#####", "#...#", "#.#.#", "#...#", "#####" }
Returns: 20
{"#.#.#.#", ".#.#.#.", "#.#.#.#", ".#.#.#." }
Returns: 36