Statistics

Problem Statement for "GalleryIllumination"

Problem Statement

The inside of an old warehouse has recently been repurposed as a gallery. The floor of the warehouse is a rectangle that is divided into R rows by C columns of unit squares. Some unit squares are walls ('#'), others contain lamps ('O'), and the rest is empty ('.'). You are given R, C, and the floor plan itself in the String[] floorPlan.

Each lamp illuminates not just its own square but also other empty squares in its row and column - but only until the first wall in each direction.

Compute and return the number of empty squares that will remain in the dark, even if all lamps are turned on.

Definition

Class:
GalleryIllumination
Method:
countDarkCells
Parameters:
int, int, String[]
Returns:
int
Method signature:
int countDarkCells(int R, int C, String[] floorPlan)
(be sure your method is public)

Notes

  • The character used to represent a lamp is 'O', the capital letter oh (and not '0', the digit zero).

Constraints

  • R will be between 1 and 50, inclusive.
  • C will be between 1 and 50, inclusive.
  • floorPlan will contain R elements.
  • Each element of floorPlan will contain C characters.
  • Each character in floorPlan will be '#', 'O', or '.'.

Examples

  1. 3

    4

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

    Returns: 12

    There are no lights, the whole warehouse is in the dark.

  2. 4

    5

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

    Returns: 12

    A single light. When we turn it on, the warehouse looks like we show below, with '*' denoting cells that have light. .*... *O*** .*... .*...

  3. 4

    5

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

    Returns: 9

    .**.. *OO** .**.. .**..

  4. 4

    5

    {".....", ".O#..", ".#.O.", "....."}

    Returns: 9

    In this example we also have two walls that block the light partially. .*.*. *O#*. .#*O* ...*.

  5. 4

    5

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

    Returns: 6

  6. 1

    1

    {"O"}

    Returns: 0

  7. 23

    5

    {"#O..#","..O..","O....","#O#..","O...#","#.#..","O.OO.","O.OOO","..O..","...O.","##..O",".O..#","O.O.O",".O.O.","O..#O",".#.OO","..O#.","O.O..","#.OO.","#..#O","O...#","O##..","O.O.O"}

    Returns: 3

  8. 39

    34

    {"O#..#....O.......O#.#.....#.......","..O##.O##.##.O...#.#.#.O.......#..","#O#.##O.##.##.#......#O##..#..#...","##O..O##.O......#.#...##OOO.#.#..O",".##..O.#O####O.#..OO.O#..#...#...#","O....#..#......#..O..#..##....#.#.",".......#..###..#.##.##O#O#.##.OO..",".#.#.#.....#..#.O.#...#O.#.O.#....",".#.#.##..#..##..O.....O#.##..#....","#.#.##.#.OO.##.#..O.#O..#..#.#.##.","....#.....#.O....#.....##.#.O.#...",".#....OO#.###OOO.##.#..#.O#....#..",".O#....O..O.#..O#.O#...#.##..#.O..",".O#..###....#......#.O.##......O#.",".O#OO#.......O..#..O##............","....##..#.#......###..#......#.##.",".##..O....##.#....#O..#...OO.O....",".O......###..#......O.#O..OOOO.##.",".##...#.O#.....#O.#.##.#O###..####","O.....####.#..O.#...##O...#.....#O","#.....O#.#..#.###O.....#..#O......","#..#.#..#..OO#..#....#.###O.###.#.","...O.##OO...O#...##....##O##..#...","#....##...##O#.#.O#...O.O..#......","..O.##..O##..#.#O#......O...###.#.","#......O...O.#.##.O#O#....OO#..O#.","...#.###...#.#OO#.##.#...O..O###.O","#...####.#.OO....#O#....O..#.#O##.","..O.O...#............O#....#..#.O#",".....O.O......#.##.#.#.###..O..#..","####O....#..O.....OOO.OOO..O#O##..","#..#....O....O#.#####...........#O","O##O.O..O#.#..#O....O....O#....#..","#...#...#.#.O.#....#.......#....#O","...#.##.##....##.##.O.#..........O",".....#...#.O...#...#...O#..O#....#",".#.#....O#O.#.O.....#..O...#..O...","#..O...O#....#..O.........#.#OO..#","##O#.O.O..#..O...#.....##..O....O."}

    Returns: 182

  9. 28

    40

    {"####O.##O.O####OOOOOOOO##O#O.##O#O###O##","##.OO#OO#OO#####.#.O#O###O##OOO#####.#O#","#OOOO#O.OOO####OOO###O#.OO#O##OO####O#.#",".###OOOOO#OO#.OO#O##O##.O#OOOO##O####O##","O####.OOO#O###OO#O#O#O.#O##.O..OO####O.O","O#.#####OOO###.#O#######.#O.#O#OOO####OO","####O##OOOOOOO###.#O#O######OO#####O#O#O","O#.##O#O.#####.###.O#O.###OO#O####.###O.","##OO###OO.O#####.#.#.O###O#.#OOO#O#OO##O",".OO#####.OO.#O###O####O#O#O##O####O####O","###.#.#.#####O#O#O.O##O.######O###O##O#O","######OO##O#O.#.O#O####.O#OO##.#######O#","OOOO#O####.OO#O#O##.O#O#O#O#OO#####OO##O","#OO##O##.##O#####O###O###.##O###O#OO##..","#O##.#OO########O#O###.####OOOO##O.O.#O#","#..O##.##.O#O###O##O##O#O#.######..O####","#OOO#OO####O#OOO#O#O####O#.OO##.#OO.#.##","#O##.########.O##O#O#######O#O.#O#O#####","OOOO###OO.##O######O#O##.####OOO#.#O.#O#","OO##O##O.OO#O##.#O##OO.#O#OO#O##O##O##OO","OO#OOO###.O##OOO#OOOOOO#OOO.####OOOO####","#OO#.###OO#O#OO##O..##O####OO####O#O#O#.","#.#.#.#.OOOO.#OO##.#.###OOO##OO##.O##OOO",".O###########O##OO##OO#OO##..OOOOO##O#O#","O#O.###O####OOOO.OO#OO###########OO#O#O#","###.O..O###OO###O#O.O#####O#O#O#########","O###O#O####O..###OOOOO##.#O.####O##O##O#","O####O#OO##O##O##O####OO##O###OO#O##O###"}

    Returns: 19

  10. 46

    48

    {"##O#OO####O#########O##OOO#####O.##OO###O##OO###","O.OOO#..O#O#.#####.#####.##O#OO#O#####OO#OOO##.#","O#..###OO#O####OO###OO#O########OO##.#O#O#####OO","####.##O#####OO.###O#######O###O####O#.OOO##.##.","#O#OO#O#O#O#O.#O#OO#O#OOO#O###O#OOO##O###OO#####","######O##O######OO.####.#OOO######.####OO#O#OO##","#####OO##O###OOO.###O#OOO##O##OOO#########OO####","#####O####.O.##.####O##O.########O###OO##.O##O##","O##########O###O##OO###O###O#######O#######O###.","#O##O##OOO#.####O####O####OO######O###.#.#.###OO","####O####O#O#####O.O##OO#.O##O#O.O#####O###OO###","##O#.#O##O####O#####OO##O#O#####OO##O#####.#####","###OO#OOO#OO##OO#O#OO####O##O.######O#####O#####","####O########O#######OOO##O#OO####OO.#OOO..OO###","OOO##O###########OO#O##O#####O#O##O#.#.O########","##O##O####OOO###O#OOO#OO.O########OOOOO######.##","O####O.######OOO#O#O#.#####O.O##O######O###OO###","###OO####O######.##O######O##O#O#O##O###O###O###","..###OO#OOO#O.###OO####O########OO#O###O#O.O##O#","##.#OO#.O###OOO###O#####O#######O###.##O####O###",".###O..########O#O#O####O#O######O##.#.####OOO#O","########O###O####OO#O##O##OOOO######OO##OO.##O#O","O##.######OO#.#####.##.#####O###OO##O##O.####O##","############O#O###############O##OOO########O#.#","O.#OO####.O##.OO##.######O#O#O###.####OO###O####","#O#OO##..#O##O##O########OO##.#O#O#O#O##.##O####","#O#O#####..O###.##OO#O########OOO###O####O####O#","#####O#O#O####O####O#.#O#########O.O#O#.##O####O","#####OO#####..OO########.##O######.#O########O#O","########O#######OO.############OOOOO#####OO#O###","#O#O.##O.##O#####O#OOO##O#O.OO#####O#.#.###OOOO#","O.OO#######O#O.OO####OOO#####O####O##OO###OO#OO#","###OO#######O#O#O##O####OO##O####.O###.O###O##O#","O#O##OO#####O###OO.#O###O##O###O##O#OOO##OO##OO#","O#O#.########O.##O################O#########O#OO","O###.#######O######O###OO#####O#.##O#O####OOOOO#","#O#O#OO#O####OOO.#OO###OOO###O###O####O##O##O.##","O#O#O.#.OO#######O####OO###OOOO#O######O###O####","###OO#OO####O#O#O########O.#OO#O#.#OOO###O####OO","##.O##O###OO####O#O######O.####O#O##O###O##O#OOO","########O#######O###OO###O##O.#O##OO#####O######","OO###.#OOOO######OO#O####O#O#####O#OO##O#O###O##","O###OOO########.####OO.#OO##O#.####O#O###.#O#OO#","OO##O##O#O###O.#O##.###OO#OO#O#O#OO#####.##O####","####O####O#####OO#OO####O###############OO#OO###","#####.#####O#O####OO#OO##OO####O###O####OO#O###O"}

    Returns: 33

  11. 17

    22

    {"..O........O.O.....OO.",".#....OO......OOO.....","..O.......O...........","O..OO...#.....O.O.....","..OOOOOO#...OO.....O.O","..O...........O.OOO..O","............O..O.O..O.",".....O..O...O..O......",".......#O..........O.O",".........#..O..O.O.O.O","...O.......O.OOO#O.O..",".O.....O...OO...#..O..","...O.........O....O..O","......OOO#O.O..O...O..","......O.......O.O.O.O.","OO..O...........OOO..O",".OOO..O.O.........O..."}

    Returns: 0

  12. 8

    10

    {".OOOO...O.","..OOO.O.O.","#O.O#O.#..",".OO#O#O.OO",".O...#OO.#","...OOO..O.","..O.....OO",".O.O..#O.."}

    Returns: 0

  13. 46

    15

    {"#.O.#O#O.OO#.OO","#.#OO..##O#..O#","#..##.##.OO.OO#",".##O.O##.O#.#.#","##O#O#.#O#.O#O.",".OOOO.OOO.O.O#O","OOO#.O#OO#OO.##","O###..##OOOO#OO","#..#.###.#.O###","##.#.OO.##O..#.","..#OOO#O#..OOO#","#O..OO#O.##O..O","....#.O#O#.O#..",".O##O###O#...#.","#.#..#O#O#.##O#","#.OO.O##....O..","#.O...O#O#OO#.O","###O.##...O#OOO","O#O#O##.###.OOO","O....#.OO#.#O.O","#.#.#OO##.OO##.","O.O#O..#.#.O#O.","#.OO##.O..#O###","###O.#O.O.O##..","O.##.#.O.#OOOO#","#OO##O#.O....OO","###.#..#O#.##.O","O..#.#.#O..OO..","O.O#O#O..O.O#.#","#O###O###OO...#",".O###.O#OOO##OO","OO##.###.OO##.#",".OO.####.##O#.#","OO.#.#OO..O##O.","OO#.O.O#.#O.##.","#.O#.#O...OO##O","O.####.#OO.O##.","O#....#.#O##O#O","#...O.....#O..O","###...###.O..O#",".###..OO.#.###O","#O#..OO.#O####O",".O#O.OO###O.##O","O#.##O..#OOO..O","O.O#O##.O.#.##O","...O.O....O#O.#"}

    Returns: 23

  14. 3

    50

    {"......##O.##....#.#O...##O..O.#.....O.#...#O..#.O#","O..O.O.###O.O..##..O.O.#.O##O.##.O......O##..#.#..",".#...O...O###....##.#O...O...O.#O....O#...#....#.#"}

    Returns: 21

  15. 7

    42

    {".OO#.....OO.O.......O........O..........O#","#.......#...O........##.....O.O.O..O..O...","#....O...O..O.OO..#..#...O.O.#.....OO.###.","OO.##.#...#..O.O.O......OO#O.......O.O.#..",".#.#......O.....O..#...OO##..O#O.....#.O..",".#.O...#..O..O...O.#.O...#OO#....#O....#.O","O......O..O.#O......O#..O........O...O##.."}

    Returns: 10

  16. 13

    10

    {"OO.OO#.OO.","..OO.O.O..","O...###O#.","OO.OO..#OO","#.O.OO...#",".OOOO..O.O","....#OOO..","OOOOO.O.O#",".O.OOO..OO","..##...O#.","#OO.O.OOOO","....O.OOOO","O##.O..OOO"}

    Returns: 0

  17. 25

    40

    {"O.O##OO.OOOO..OOOO#OOOOOOOO.O.#O.O#OO..O",".O.#.OOOOO.#OO.OO..O..OOO.#.O.OO.OO..#OO","O.O.O.OOOO#.#..O.OO..OO#.OOO...##.O.OOOO","##OO#.....OOOOO.OOOO#OOO##...O.O.OOO.O.O","O#O.OOOOO.OO..O.OOO#.O.O..#OOO.##O.OOO.O","OOOOO#O.O.O..O##OO..OO#.O.#.OO.O.O.O#OO.","OOOO#.OO.OO.OO.OO..OO#O#.O.##O.#O.#OOOO.","##O#...OOOO.O#O..#OOOOO.OOOOOO.O#OOO.OO.",".O.O.OO.OO.OOO##.O....##.O#OOOO..OO.O.OO","OOO..O#.O#OOO..O.....O#.O#OOOOOO#O.O#O#O","OO#.OOO.O...#O#.OO#OOOOO...O#..O.OO.#OOO",".O.O.OOOO.O..#OO#O...OOO.OOOOO.OO.O.OO.O","OOOOO.OOOO.OOO..OOO.OOO.OOOOO#.OOOO#O#O#",".#OO#O.OOOOOO.#O..OOO..O.OO#.##O#OO..O.O","O#..O.#.O.OOOO.#.O#.OOOO.OOOOOOO.OOOOO.O","OOO.O.O#O..OOO..O..OO#O.OOOO#O..O.OOOOO#","O...O#OO.OOOOOOOOOO#O.#OOOO#.O.#..OO...O","O#O.OO.O.#OOOOOO..O.O#OO.O##OO..O#OO.#OO","O..O#OOOO.O.OOO#OO..#OO..O.OO#.O#O.O.OOO","..OO.O.O..#OO.O#.O.#O.O.O#O..#.OOO#..OOO","O#..OOOOOO#.OO..OOOOOOOO#O#.O#O#.O.#.O#O","O.#.....OOOOO.O.OOOOO##O..OOO..#.O#OOO#O","..OOOOOOOOOO...O.O#OOO#OO.OOO.O..O.#OO.O","....OO.##O.OOO##O..O##.OOOO.OOOOO#OO#O#.",".OOO.O#O#OOO.#.OO..O#.OOOOOO.#OOOOO.O#O."}

    Returns: 0

  18. 3

    36

    {"#.....#..........#........#....#...#","..O#..#..#O.O.O.#..#..O..#..#.....#.","#O...#....#.....#.#..#......#.O....."}

    Returns: 51

  19. 10

    12

    {"...O#....##O","OO...OOOOOO.","OO.O.#O....#","....O##.O.#O",".O.#.O...O..","O.O.#OO.OOO.","O.OOO...O#.O","..OOOO.OO...","OO.O.....#OO",".OOO..OOO.OO"}

    Returns: 0

  20. 38

    23

    {"O##.OO###O#O##OO.#O###O",".O#.O.OO..##OOO#OOO.OO#","OO#.OO.#O.OOO.O#.O#..O.","#.O.#O.#O#O..#OOOO#O#OO","#OO#O...#.OOOO.O..OOOO.","OOOOO.O#O.#.O#O.#....OO","..OOO#OOO#OOOO.#.O#.O.O","OOO.O#O#.#O##.#OO#O..O.","#OOOO.O###OOOO#O.OO.OO#","#O##OOOO#OOO.O#O#.OO#O#","O#O###OOOOOOOO.#.#O.OO.",".OO##OOO.OOO#O##..OOOO.","...#O#OOO.OOO#O##.O##OO","OOO.OO.OO.O.....O#..O.O","#.#O.O##.O#O..OOOOOO.OO","O###OOO#O##.#OOOOOOO..O","OOO.#.O#OOOO#OO#OO##.OO","OO####.O#OO###.O.#O#O#.","OOO.O#.#O##O#OOO..##OOO","OOOO#..###.#O#.#OO#OO.#","#OOOO.OOOO#..##OOO#.O#O",".OOO.OOOOOOOOO...##.OOO","#OOO#OOOOO##..O#O#OOOOO","O.OO..O.#OO#O##OO.O#OO#","OOO.#O.OOO#OOOOOOO.OOOO","O.OO.OOOOOO.#OOO.#.O#OO","O.##O.##OOO#OOOO.OOOO#O","##O.####.#.OO#..#OOO#O#","OOO##O.OO##OOO..#..OOOO","#.OO.#.#.OOO.#O###O.OO.","OO#O#O.#OOO##O##O.#O#O.","#O.O#OOOO.#O.O#.O#OOO#O","#.O##..##.O.#OO.OOOO#OO","OO#OOOOO##O..#.O.OO#OOO",".OO.O##O.OOO#O.O####.OO",".##O.O#OOO.OO..#.OOO.OO",".OOO#######OO.OO##.O#O.","#OO#O.#OO##OO#OO..O#O#O"}

    Returns: 2

  21. 1

    37

    {"O#OO.O#.OO#OOOOOOOOOO.#OO..OO#OOO.OOO"}

    Returns: 0

  22. 17

    22

    {"OO.OOO#.O##.O....O...O","#.#OOO.O..#O.....OOO.O","OOO.#O#.#.O.#..O.O.###","OO.OO.O#O.#...OO##..#.",".#.#OOO...O#.#...O##OO","O.#.OOOOO#O.#.##....O.",".OOO.#OO##OOO.OO...O..","#.O#..O.#..O.#....#OOO","....O..O#OOO..#O.OOOO.",".O.#..#O.#...#O..O.O..",".##.#O..O#OO#.OO.O##.O","O....O##OOOO.#O.O..O.#",".O.O#O.OO...O#..#..O#O","#OO.O##..#OOOO.....O#.","..OO..O#OO.#O#O.#OOO.O",".##OO.#OOO......O..#.O","##O.O.....O#.O#.OO##O#"}

    Returns: 4

  23. 36

    34

    {"O###.##.######.########.##########","############O#####.####.###O######","####O#.######O#.##O#######.#######","####################O###O#########","#######.########.##########.O####.","################.######.##########","########O###O####.####..#######O##","O###############O######O#.###O##O#","##########.##########.############","###########.####..##..##########..","#######.######O#####.#############","######################.###########","##################.###############","##########.#######################","########################O########O","####.#O############.#####O########","##################################","#########O##.########.########O###","#O####O##.##O#####.####.##.#######","#########.###########.#########OO#","###O#####.########################","#############################.####","####.####O###############.########","##############.######.##########.#","#O#######O###############O###.####","##########################.#######","O#####O###########################","#####################..####O######","#########.#############O####.#####","###########O.##O##################","######.#################.#########","##.#################O###.##.######","################O#O#####.#########","########.#####O#.#################",".#####..###.######################","#######.######OOO############O####"}

    Returns: 60

  24. 44

    25

    {".O..#....#.O........#.#.O","...#..#...#..OO.###O.....",".#....#....#.#..#...#..OO","#...#.#.O.#.O..#.O#..O#.#","#..#.#.#.#.#.#..#.O#.O...","#......O#..#......#...O##","...O###.#..##.#.OO.O.#...",".#O#...OO.#OO#....#..O#O.",".#....#...O....#...#O#...","O.#....#.OOO#.#..##.#...O","#....##..O...#.##.......#","..#.O#.O.#..###.#...#..##","...#.##..##OO.#......##..","##.O..##.....#..O.#OO..O.","....#.#O..O.###...#..#..#","...##.....O.........O#...","##OO.#.#........#..#...#O","....#O..O.##.OO........#.","#O#.#...OO.##O##.O#....#O","....##.O#...O.##O..#OO.O#",".#O.###.....#.#..O#..O...","..###..##O........#.#O.#.","...#O..#O.....#OO.##...O.","O....##O.##O..O..#.O#O.O#","....#.O...OO...#.#.#.....",".#.....#.#...#.....#..#..","...#...O.O.OO.#.##..#.#.O","..#O.#.#..#O#O....#.#..#.","#.O.#.#O.#......#...#..#.","#............##O..#.#.#..","....O#..O.#.##......#..O.",".#O##O.#....#O..OO.##O...","......#.#.O..##....OO.#.#","#..##....#......#..#O#..#","#O#.....O###.#..##.#.....",".O#.#O.#.##..#.#.......#.","....##.....#.#..#O.#...#.","#.##....##...##.##..O..O#","..O.O##....#.........#O#.","##..##...OO....O.O.OO..##",".....#.......#O#...OO.O.O","#...#.#.............#O#.#",".....#.##.##..O..........",".#..........#....#..O...O"}

    Returns: 209

  25. 21

    13

    {"O#OOO...##O#.","#####.O#..##O",".#......#.O.#",".#.O####.#..O","#O.O#OO#.#OO.","####O#.O##.OO","OO#O#O###O.##","##...#OOO.#OO",".O.#####OO#.O","#O#.####..OO#","##OOO..O##.OO",".#.O.O.##O#.O","#..##OO##.#O#","###.##O#..O.O","#O.O#O#.O#O.O","O#OO##OO.###.","###O##.O##O#O","O###.O#O##O.O","..####O#.#.##","O.OO.#O#O###.","...O##.OO.##O"}

    Returns: 15

  26. 39

    23

    {"OOO#O#O##O#OO#O#OOOOO##","OO##OO.OOO###O.#O##OO#O","OO.OOOOO#O#OOOO##OO#OO#","OO#.#OO#O##OO#O####OOO#","O#O#OOO#OOOOO#OOOO.OO.#","O###OOOOO###O#OOO#OOO##","O#O#O.#####OOO#O##OOO#O","O#O#OOOO##O##OO#O.###O#","#OO#OO####O#OOOOOOOOOOO","###O#O##OOO.##OOOO##O#O","###OO##OO##OOO######OO#","OOOOO##OO#OOO#.##OO#O#O","OO#OO##O#O####OOOOOOOOO","#OOOO#.OO.#O#OOOO#OOO##","O#O#OO#OOOO#O##OO##O#OO","##O#O##OOO#O#O#OO##OO#O","##OOO#O##OOO###..###O#O","OOO#OO####OOO.OOO#OO###","#OOOO#OOOO###OOOO#OO##O",".O##OO##O#OOOOO######O#","O#O#OOO#O#O#OO##O#O##OO","OOO.#OOO##OOOOOOOOO#OOO","O.O#OO#O.OOOO##OOOOO#OO","OOOO##O###OOOO#O.#O#.O#","#OOO.#OO###O#O##OOO##O#","OO##O##.#O###O.#.OOOOOO","OO#OOOOOO#O#O#OOO#OOOO#","OO##OO#O#OO####OOOO#OOO","#OO##OOO#O#OOOOOOO###OO","#OOO#O#OO#O#OOOOOOOOOOO","###OOO.OO#O#OOOO##OOO#O","OOOOOO##O#.OOO#O.OOOOO#","OO#OOOO#.OOOOOO####OO#O","OOOOO#O.O#OOO#OO.O#OOOO","#OOOOO#OO####OOOO#####O","O.#OO#OOOO####OO#OO#OOO","##OOOOOOO##OO#OOOOO#OO#","OOOOO#O###OOO#O######O.","##O###OO#OO#O#O##OO#OO#"}

    Returns: 0

  27. 19

    11

    {"O####O#OOOO","#O######.OO","##O##.####O","#O###O#####",".O##O###O.#","#O####O####","##O###O##O#","O###O####O#","##O##O#####","######O#O#O","####O##OO#.","#O###O#.##.","#.###O#OO.#","#####.#O##.","#O#O##OO#O#","O##O#####.#","OOO###OOO#O","OO#####OOO#","####O###OOO"}

    Returns: 1

  28. 34

    50

    {"......O.....O....#....OO..O.......O...............","..OOO....OOO..O.....O.O................O....O..O..","O.......O....O..O....O...OO......O......OO..O.#.O.","...OO.O.............O.O.....O...............O.O#..",".O.O.O................O...O.......O.OOO.O.O.......","..O..OOO...........................O..#.O.........","..#.O.O...O.....O..O.........O.O..................","O....O..O...#.....................O.O....O........",".O........O..............O..O.....O...........#...","O....#.O............O.....O........O.O.O.O.....O..","............O.O.......O.....................O.....",".....O...............OO..........O.....O...O......","O...O...#..........OO..O...O.....O...........#....",".O..................O..O...OO.....O....O...O...OOO",".O.........O..........O...O.O...OO#...............",".O.....O...O..................O..........O........",".............OO.......O.#................OO.......",".....#O................O...O..OO..................","...#......O.........OO...#......OO.....O.OOO..O...","O.........O........O......O.............O...O.....",".O....O.....O..O.......O..O..OO........OO.........","O...OO.............O.....O..O.........O.....O.O...",".........O....O...................O....O.........O",".O.O...........OO......OO...O..O...O.....O..O.O...","......O...O.......................................",".....#......#......OO........O.O...O.O....O.O...O.","..O...O......O.....OO...O....O...O..O...OO........","...O.O......O......O....................O..OO...O.","........O........O.O.O....O.......O.O.O.......O...","OO.O........O....#.......#.O.....O.....O..........",".....OO.......O.....O#.O...O......O....O..........","O..O...O.O..OO..O.O....O...........O..O........O..","........O..#..O..........OO.O..O..................","............O.O........O.....O.....O........O..O#."}

    Returns: 1

  29. 50

    15

    {"#.O####O#####.O","##O.#O###.#####","OO#O##..####.##","#####O###O.###O","#OO#.O##.#O##.#","#.###.#.####O#.","#O#####O.#.O.##","###.#O#..#O#.##",".####O####..###","##O#.####.###..",".#.O##O#.######","##OOO#O#.#O##O#","#O####O########","O#####.O#######",".#.#####O#####O","O###O.###.#.O##","##O#.O#O#O####O","#OO#O.##O####.#","#.####.##.#.#O#","O##.##.O####.#O","##.#######.#O##","OO#O#######O#.O","##.######O#OO.#","O###.#.#O######","###.#O.#..#####",".#O###OO####..#","#.O.#OO###.##O#","###OOO##O###O##","#.#############","##.#######.#O##","#O###O###..#OO#","####O###.#####.","####.OO.#..O#.#",".#####.####O###","#O#####...#.O##","##.###O#O#.##O#","#O##O##..##OOOO",".O#O#O####...##","#O###O#######O#","#####.#######.#","O#######..#####","OO###O#########","#O#OO##.#.OO##.","#O#.##..#.O.#.O","#O#####..OO.O##","##.O###O###O##O",".######.O####OO","######OO#O#####","#.#O.#######O##","###.###O#.##.##"}

    Returns: 53

  30. 39

    22

    {"##.OOO.O#.##.O.O#O.##.","#O###OOOOO#.OO###.O##.","O###O.###O#OO##..O.###","O.OOO#.O.#O.#OO#.##O.#","OO#O##O#O#####OO#OOOOO","OOOO.#O.##O####O.OO##O","##.O#OOOOO.O##O#OOOO.O","O#####O##.#OO.O##O.O#O","O.OOOO..##########OO#O","#O#OOO#O##O#OO.#O#O#O#","OOOOOOOO##OO#.#O#OO##O","##.OO#O##.OO.O#OOOO###","O##OOO#OO#O#####O.#O##","#O#OO###O.OO####OOOO##","#O##OOO.O.OO.#O###OO##","#O.#OOO..O##.O.O#.#OOO","#.#OO.O.#O##OO.OO#O##.","O.##..OO.#.OO#.O#.#OOO","##O#O..#OO#OOO.#.O#OO.","OO.O#O####O#O#O#O##O.#","###O###.OOOO#O#O##O.##","OO#O#OOO.O##O.O.###O##",".OOO##O#.O#OO.#O#OOOOO","#OO#####.##OOO##O#.#O#","OOOO#OO#OOO##.OOOOO#OO","#OO##O#O##OO..OO#OO##O","O#OO#.#O##O##OO#O.OO#O","O.OO###O#OO.#O#O.#O#OO","#O.O#O.#OOO##.OOO..O.O","#O#.O#.#O#OO####.OO##O","O.O#O##OOO.##OO.OOO###","O#OO.##O.OO#...O.O.O.O","#.OO.#OOOO#.O.#O##OO#O","#.O##.#OOO.###.OOOOO.#",".#####O#O##O#O#.#OO#OO",".OO######.OO.OO#.#O.OO","O..#OO####OOOO#O#O.OOO","###.##O#.OO#O#OO#OO##.","##O##.#O#OOOOO#OOOOOO#"}

    Returns: 9

  31. 17

    46

    {"OO....O..O..O.....O.O...O.OO.O..O.......O..O..","..O.O.....O........O.O...O.O..O...O.........OO","......O....O...........O..O.OO.OO.......O...O.",".......O.#O........OO.OOOOO.....O...OO....OOO.","..OO..O.OO..OO.OO.....OOO..O...OO......O..O...",".OO....O.O.O.OO.O..........O..O.O..OO....O....","OO..O..O..O....OO.OOOOO..OO..O.OO.OO...O....O.","..OO.O.....O.OOO..O..OOO...O...O..O....OOOO...","O..OOOO....O.......O.OOO........O.O...O.O...O.","...O.O.....OO.O............O.OO...O..O...OO...","O.O.O....O..O#.O......OO..O.....OO..O...O.OO..","..O.O......OOO.O.OO...O..O....O..O.........OOO","O..O.O.OOOO......O.O.......OO.....O..O.OOO....","...O...O.............OOOO.OO...O.O...........O",".#..#.........O.O....OOO..O..OO....O..O......O","O..OO...OO.O..OO.OO.O.O..O....OO..O........OOO","..O....O.....#.O..O.............O.....O...OO.O"}

    Returns: 0

  32. 8

    36

    {".O.#####.##.##..##O#O#.#....O#.#.#OO","#O#OOO.##.#####..O###########O###..#","##########.#..#.###.###..##OO.###.##","#O###.##O###..#OO###.#.O###.#O####.#",".####..###..###.OO###O#.O.#######...","O##..#O#O#O##O####.#.O#########.#...","##OO##..O.#########.#####.##########",".O#O.##.#.#O######O###O#####.##.##.#"}

    Returns: 37

  33. 3

    42

    {"#########O#O########OO############O##O####","O####################O#O##########O######.",".#############O#O###O###O#############O###"}

    Returns: 1

  34. 36

    11

    {".O.O.OOOOOO","OO....OO..O",".#OOO.O..OO",".OOO.OOOOOO","OOOOOOOOOOO","O#.OOOO..OO","OOOOO.O.OOO","OO....O..OO","OOOOOOO#OOO",".OOOO.OOOO.","O.OOOO.OOOO","OOO.OOOOOOO","O..O.OO..O.","OO..OOO.OO.","OO.OOOO..O.","...O.O.OO.O","OO..O..OOOO","O.OO.#..OOO","O.O.OOOO.O.","OO.OO.OO...","O.#.OOO.OO.",".OO.OO#OO.O","OO.OO.OO.OO","O.OOOO..O.O","..O.OOOOOOO","OOOOOO.OOOO","OOOO.OOOOOO","OOOOOOOOO.O",".OO.OOOOO.O","O.#O.OO.OO.","OOOOOOOOO.O","OOOOOOOO.OO","O.OOOO.OOOO","OOOO.OOOOO.","O.OOOO.O..O","OOO#OOO.OOO"}

    Returns: 0

  35. 14

    48

    {"#..OO#OO##O#O.#O#.#OO#O..O##OO#...#.OO#O.##O#O#O","##.##OO############...##O#.###OOO####O#.OO####O#","####O###OO####.###O#####O.#.O#O.O###..O#O#O#.#O#","#OOO###OO#OOO.OO.OOOOOO##O#.####.#OO##.#####.##O","#####O####OO###OO####..#.###O#O..OO#####OO#.#O#O","O##.###O###O#O##O#OO#.##OO.OO#OO##.######OOO###O","OO.##.#O.OOO#O#####.#O...##############OO#####..","###OO##O##OOOOOO#OO#..#O.O####OO##.##.O###.#..O.","##OO##O..##O.O########...O..##O#...OO###O.OO#.O#","O####OO#O##O.###.####..O#O.#O#O###.#OO########O#","#O#O##OO..OO.OO#O#O.O.OOOOO##..###.#O#OO.#OO...#","#OO####O.#OO#####O.#O#.####OO.OO..#..#.#O#O#O#OO",".O....O####O###O#########O#.###.##.O#.O.##OOO#.O","O.OOO.##..###O#OO########O#OOO###OO..O##..##OOO#"}

    Returns: 19

  36. 12

    48

    {"OOOOOOOOOOOOOOO.OOOOO#OOOOOOOOOO#OOOO.OOOOOOO.OO","OOOOOOOOOOOOOOOOO#OOO.OOO#OOOOOO#.O.####.OO###OO",".#.OO.O..OOOOOOOOOOOO##OOO#.##OOOO.OOOO.OO#OOOOO","OOOO.#OOOOOO.OOOOO#OOOOOOOOOOOOOOOOO.OOO.#OOOOOO","OOOOOO#OO.OOO##OO#O.O.OO.#OOOOOO.#OOOOO.OOOOOO.O",".O#.OOOOOOOOOOO#OOOOO.OO#OO.OOO#OOO.OO#OO#OOOOOO","#OOOOOOOO#OOOOOOOO.OOOO#OOOO.OOOOOOO.##OOOO.OOOO","OO.OOOOOOOOOOOOOOOO#OOOO.OOOOOOOOO.OOOOOOO.OO#OO","OO.OOOOOOO##OOOOOOOOO#OOOOOOO##O.OOOOOOO#OO#.OOO","OOOO#.OOOO.OOOO.#OO.OO.OOO#OOO#OOO#OO#OOO#OOOOOO",".OOOOOOO.OOOOO.OOO##OOOO#O.O#OOO.OOO#OOO#OOOOOOO","OOO.OOOOOO#O.#.#OOO.#.OOO#.OOOOO#OOOOOOOOOOOOOOO"}

    Returns: 0

  37. 43

    48

    {"..OOOOOOOO.OO..O##O.OO#OOOO.OO#O..OO#OOO#O##O#OO","..O.O##.O#OOOO...##OO#O.OOOO#.#.O..OOO#.#OO#O#OO",".O.OO#OOOOOOOOOO..O.O.O#O.OOO#O.O.O.O#OOO.#.OOOO","O#.O.O.#O..OOOOO.OO.#O#OO#.O.O#OO..#..OO.OO#.#.O","OOO#.O#O#O##OOOOO#O#..O.OO##O..#OOOO#OO.#OO#.O#O",".OOO#O.O.OOO...#O#O.O.O.#O.O...O.O#OOO#O.O#.O.OO",".O.#.O.O.O#.#.OO##O#.....O#OOOO.O.O.OOOO...O##OO","O#.OOO##O#OO.O.OOOOOOOOOO.OOOO.O#OOOOOOOO#O#OOOO","#OO...OO.#OOO.OO.O#OOOO.OO.#OOOOOOOOOO#.#OOOOOOO","O.#..O.O#OOOO##.#...#.#.O#.O.#OO#OOO.OOO#O.O#OOO","#O.O.OOOO..OOOO##O#OO.OO.O.O..OOO.###O##...O#O.O","..#OO.OO..O#OOO##OO#O.#O.OO#O....#..O#OOOO#OO.OO",".OOOOOO.#....O.O..OOOOO#OO..OO##OO..O#OO#O#OOOO.","OO..#OO.##..OO.OO.OO....OO....OOO#..O#....O..O#O","OO.OO.#OOO.#..OO.O..O.OOOO.OOO#.OOOOO#.O#OO#..O.","OOO#OO.O.O#.O..OOO#.OOO#.###O.O#O.O#OOOO.O.#OO##","..OO#.##OO.#OOOO..O..OOOOOOO#OOOO.O#OO#OOOO.OOO#","O.OOOOO..O##...O.###OOO#.##OO#OOO.OOOOOO#...OO#O",".O#OO#OOO#O.#.#OOOO..OOO.#OO...OO..OOO#O.O#O#OO#","O#..OO..OOOO.O#OO.#OO..##O#...OOO.O#O#OO.OOO.O#O","#.OO#O.#OO.#O#OOO##O.#OO#O#OO.#O...OO.#O.OO.OO.O","OO##O.O.#.#.OOO#OOOO.#.OO.O.OO.##OOOOO##OO#OO##O","..OO#...##..OO..O#O.OO#O..OOOO.#OOOO.OOOO#OOOOOO","#.O.O.O.#OO.OOOO.O.O.O##O...#.O.O##OO.OO..O.OO.O","#.OO.OOO.O#OO.O..OOO#.O#.O#O..#....OOO..O.O#OO.O","##O##..#.OO#OO.OOO..O#..#..OOO..O#O....O.#OOOOOO","OOOOOOOO##.OO..OOOO#OOO#O.OOO.#O.#OO#OO..#OOO.OO","OO.OO#.OO#OO.OO.OO#O.OOOO#O#OO.O.O#O.OO..OO.#OOO","OO.O#..OOO.OOO.##.OOOOOO.#OO.OOOOO..OOO.O.O.O..O","#OO.#OO.O.O##OO#OO.#OO.O...O#OOO..OOOO#O.OO.#..O","OO#OO.OOOO#O#O.OOOOOO#.#O.OOO.OOO.O#OO....#...OO",".O.O#..#OO.O.#.#OOOO#OOOO..O..OOO#O.O#O.OO.#.#OO","OOO##.OOOOOO.O..OOO.##.O.OOOO.OOO#O#O.O.O#OOO.OO","#.O#O#...OOO...#O.OO.#O.OOO.OOO.OOO.O.O#OOOOOOOO","#OOO#O#OOO.O.OOOOO#.O.O....O.OO...OOOO#.#OO.O#O.","O..O###OO##.OOO.OO#OOOO.O##......O.###.#OOO..##O",".OOOOOOO.O.O..##OOOO.O.OO..OO#OOOOOO#..OO#O#...O","OO.OO.O#O..O#O...OOO.OO.O..OOOOOOOO##OO.OOO.OOOO","OO...O#O..O#O##O#O.O.O#..OOOOOO#OOO.O.OO..OOOOO#","OOOO...OO.O.O.OOOO#O#.O#O...O.OOO..#O#OO.#OOO.OO","#.#O#.OOOO#.O#O#.OOOO#OO.##O##O.OOOO.OO.O..#OO#O","O...O...OOO.OOOOO.OO#OOOOO.OO.O.OO#...O..OO#OOO.","#OOO.OO#O..OOO.OOOOO#O#.#OO.OO.#.O.OO.OOOO.OO#O."}

    Returns: 3

  38. 5

    30

    {"OOO.O##O.OOO.###O..#O.##..O#O#","##OOOO...O....O##OO#.OOOO.#O##","#.O#.#O.#.##OOO#O#.OOO########","O#O#OOOO..#.##..#.O#O.O#..O.#.",".O#OO#..OO.OOOO###.OOOOO######"}

    Returns: 2

  39. 19

    19

    {".#......###O#.#.#O#","##..O.#.##..#O.....",".#O##O#O##..###.#O.",".#...###..#..#.....","#....#......O.#..#.","#.###.#O.#..O..#.#.","..#.#.O#...#.#.....","#...........O......",".#.#O.O.##...OO#.#O","..##.#.....#......#",".#.#...#.#.#O#..#..",".......#.#.##.#..#.","O#..O.#O##O..#.#.#.","#..#.O.#O##O.##....","O....O....#....##O.","#.####O..##....#.##","#..###...#..#....#.","#..#.....###O.###.#",".O##.##.#O...##.#.#"}

    Returns: 85

  40. 29

    35

    {"#####.######.O..##########.#..#####","OOO#.###O#.#.#.###########.###O###.",".O###.#.##..########.######O#####.#","#.#######.##O###.O##.######.#..####","#O##########O###.##########OO###.##","####O#####O#########.##.##..#O#O#.#",".O#####.###..##.#.##O#####O###O####","####..##.#.#..#########O######O####","#####.#O.#########...###O###O###.##","#.########.##O############.######..",".#O#O#######O###.####.############.","#######.###..######O#####..######..","###OO#.#O.##.####O#.#.#.########.#.",".###.#.##########..#.#..OO#O..#####","####O.#####.####.##.##.#####O.#####","#O####.##..#######.####.#.####.####","##.#.#####.###.####.#.####O##O###.#","######.#..####O#######.##O####O####","##########..##O###.##.##.#.O##O.#.#","###.#############.###.############.","######..##O##.####O#####.#######.O#","###.#####O##.####O##.##.#..########","O#.#..###OO##O##.######.....#O###.#","###.O#...#.######O#########.###.###","######O#O####O.####.###.#####O####.",".#######OO############.##O.###.##.#",".#.##..#.#O#O..##O########O.##.####","####.#####.OOO#############.######O","#O#O#.########O##.########.##.#.##."}

    Returns: 136

  41. 16

    25

    {"##O##..#..O#O.##...##O#..","..#...#.OO.O...O.#..#.#.#",".O#.#.O...##.#.#..#.##.#.","..#O###O##O.O#..O#....OOO","#...OOO#.#....##....##...","..O#......#.O...#...#.O.#","#.#O#....O#.#.#O#.O#O##O#",".#..O.##.###.##O....#..#.","..#OO.#...OO..#.O.####...","..#.#.##O..###.#O##.#..##",".#.#.#..O....##.#O#..OOO#",".#.O..O..#.##...O.#.#....","#OO#.O#...#..#O#.#.....OO","O..###...#.O##.OO##.##O.#",".O#O...O.O.O..O.#...#O#..","...OO..####..#..###O.#O.#"}

    Returns: 47

  42. 10

    2

    {".#","#.","#.","..",".O","O.","##",".#","..","#O"}

    Returns: 3

  43. 49

    43

    {".##OOO.###O##.O##O#O####O.#OO###OOO#O.O#.##","##.#####O#.##O#O######.##O#O###OO#OO#O##OO#","OOOOO#O.#.#.##O#O#O#.OO#OOO#O#O.#O####OOOO#","#.#O##O#O##O#OO###O####OO#OOO###O##O#OOOO#O","###OO.OOO##OO####OOO##OO#######OO#.##O.#O##","#O#####O##OO##O##O#OO.O####O##O#OO###OOOOOO","O#O#O.OO###OO#O##.O#OO##OO#OO##O.#####.#O##","O#O#O#.####.OO#.#OOOO#O.#OO###O##OOO#O.#.O.","##OO#.#.O#O##O###O#.##OOOO##O####O.###O####","######OO###O...O#O#O.##OOOO.####O#.#O###O#.","####O###O##OO##.##OOO#.O#O###OO.##O####O#.O","#O.###O.###.##O#O###OOO.O#.#..#O##OO#.##O##","OO#.#OO#####O#.#O.OOO#O#OOO#O##O.O##OO.O###","#O##OO##O.O##.###O#.OO#O.##O.###.#O.O###OOO","O####O##O#O.##.OO#OOO#O####O###OOOO#O##OOO.","O#O###O#O########O#OO.#######.O#OOO#O####OO","O#OO###O#OO.O#####O#O.O#OO..OOO#.#.####.O.#","####.O###O#OOO.OOO#O###..OO.##O#OO##O#O####","#O#OO##O.#O#O##.O#OOO#OO###########O#O##O#O","#.OO#O#OO###.O..##OOOO###OO#OO#.###O#OO####","#.O.#O#O...OO###OO###O#OO.OOO###OOO.#O#####","#.OO####.OOO#O#O.O##OO#O#####O#.#O###.OOOO#","#O##OO####..O#####OO####O##OO####.##OO.OO##","O#O###OO#O#.#OO#####O##O##.OOO#.OO##.#O###O","O##OOO##.#O.#O#OOOO#OO#OO##OOOO###OO.OO#O#.","O#O##OO#O##O#OO..###O###O.#.####.OOO.O####O","#O.##.O..#O#O###OOOOOO#O#####O###.#O#.###O.","O.####OOO##.###OO.#O#.#O#OOO#OO#OOO#.O.OO##","O#OO##OO##O.O#O##O##O###O##.#O#OOOO.##O###O","OO####OO#####..#O#O###O.#O######OOO#.O##OOO","##.O#OO#OO..#O#O#OO.####O#########OOOO.OO##","OO#OO#.O##O#O##.O##O##O#..#O##O#.#OOOO#O#O#","#OOO#O#O##O#OO.#OO#O..O#.OO###.OOO.#.#O#OO#","#O###.#O.O##O####OOO#.#O#OO.###O##O####OO##","#####O#O#OO#O.##O#OO#O##O#O##O###O#O#O###OO",".O#O##O###O#.OO###O#####OOOO###O..##OOO#.O#","O##O###OO###O##O#O#O.O####.O##OOO.####OO.OO","#O.#O#OO#O##O.#OOOO#O##OO###.O##O#.#####O#O","O#O####OO###O#O##..###OO##O##OO.#OO.#OOO#O.","O###O#O#OO#.#OOO#OOO#O#..###.O###########O.",".#######O#####..#O##O##O#O.####OO#O#O##OO##","O#O.#O#O##O#.OOOOO#O#OO.###..#OO#OO#..#OO#O","#.OO#O#OO##OOO#OO#.#.#.#OO#####O##O###O#OO.","O###O######.OO#O#######.#O###.OO###OOO#.O##","###O####OOOOOOO#####O#OO#OO##O.O.##.#######","##O.##O#.#O#O###OOO###O.######O#.#OO##O#OOO",".#O#.#OO#OOOOO#O#O##O#OO#O#O#.##.O#OO##OO.#","####.##.##OOO#O##OO##O#OO######O#O#.##OO###","#OOOOO.###.#####O####O#O#####.O##O#OOO####O"}

    Returns: 20

  44. 6

    23

    {"#O.O.#O.##O#OO.OOO#O.OO","#O.OOOO#O..O#.#OOO##OO#","O.OOO#.#.OOOO##OO##OOO#","OO#O#OOOOOO.OO#O.##OOO#","O##O.###O#OOOOOO.OOO#.#","#O..O#.##OOO.OOO##OOOOO"}

    Returns: 1

  45. 6

    3

    {"..O",".OO","OOO","OOO","OO.","O#."}

    Returns: 0

  46. 35

    48

    {".##...#..O#....#.#.O...O#....O..O....O..#..O.#.O","....#...#.OO..O.OO.OO.O.O.#.#O...OO#....#.#..O..","...O.O.OO.....#O..O#O#...O....#.#...O.O..#...O.#","##..O.#.O.O..OO......#.O.O.#.#.#...#O.#..#O.OOOO","..##.#.##O....#.#.O.OO.#.O.O.#.O.....##.O.O.OO#.","..O....O#............O...#O.O......##..#.....#O#","OOO##....O..OOO.......#.OO.O......O..O#...O.OO..","..#.......#......O..#..O##OO......O...#.........","#......O......#O...O.O.#.O.O#...O....OOO.......O","..#..O.....O.O....OO.##.....#O....O..#.O......O.","...OO......O..OO...##.OOO.......O..OO..O#.#.#...","..#..O...#..O.....O.O.OO#..............##O.#.O..","O#O...OO..OO.......O..O.#O#O....#..#...#.O......","....##.....O.##..#.O.O.O.O.O.O..........#.O.....","O....O......O.....O.....O.#.O#O..##.....##..O.OO",".OO.O...#...O.....#O#.O.#......OOO.##....#O....#","..O#.....#.O....O...#..#..OO#.....OOOO.......O#O","..O....O#O..#..OOOO...#..O.#OOOO...#....O#O...O.","O...#.#..OOOO#O.....#....O#.....#.#...#.OOO##..O","#...O#.OO...O.#..#O...OO.OOO.O.O#..OOOOO...O....","..O.........O.O#.....##.O....OOO#...O.OO..O.#.OO","..OO....OO.O...O.O#.....O...O.O.OO......##.OO..O","#.#.OO.O..OO..##O#.....O.O..#......O#.O....O...#",".O...O.#O..###.O..#O#O.....#OOO.O#.........#OO..","O....#..O#..O#.#.....OOO..O..O.O.#..#....##O...O",".......O...#..O..#O......OOO.#........O.O.#..O#.",".##...#.#.O..O.......##..#.#O...O.O..OOOO..O....",".O.OO#..OO......#.O.OO....O.O#.O##.OO..#..O#.O.O",".O...#..OOO.#.......O.....#O.O##......O.OO....O#",".O#..O.O..#...OO#..#..O.....O.O..#OOOO...#O#.O..","......##...O......O.......O##.#O.OO...O..O..##O.","#O.#..#......#........O.....#O##..#.##..O.......","...##O#O.O........#...O##.O..OOO.#.#..O.......O.","....O..O#....OO....O..##.#.O...O.......#.O..OO..",".OO#OOOOO.O#O...O...O...O..O.O..#....O....O..##."}

    Returns: 24

  47. 39

    28

    {"####..O#.####.###OO#####.##.","####..#O###O#######.###O###.","#####O####.###############.O",".###..O##.....####.####.##.#","###.#########.O.###.##.#.O##","#.#..##.##OO##...########.O#","#######O##O##O####O#########","#..##########.####O########.","##.####.#.###.#O#########..#","####O.#####..####O.#.##..#O#",".###O#.######.##..##O#####.#",".###.#.##..O##.####O#O####O#","#.#..#####.##O#.#.#.##..####","##..#####..####.###.##.#.###",".########.##O..####.#.#..###","###..#####O#O#######..###..#","###...######...##.###.#####O","##.O.#####O.##O##.#...##.#..","###.######..###.######.##.##","#.##O#O#.##.##.#.###.#.O##..","..##.#...##O######.#####..#.","#..#####O..#####....#O#.####","#.###.#.#.#.###.O##.###.####",".##O##.###O.##..##.#####.O##","##.#.#.####....O.##O#######.",".#.#..#####..####O.###.###O#",".#.####..######..####.####.#",".####.#OO#.####O##..###O##.#",".#######.###.###O.###.###O##",".##..#####.###.####.#######.","..##.#.###.#O#####.#########","O##..#######.#.O.##.#.##....",".###.#####.#O.##.#.#.##..#.#",".##O.#####O##.#..#.#..######","##O..##########..###..###.#.","###.#.#######.###..##.##.##.","#.#O##..###.#########.#.####","#..#..###O.#O.#.##.####..##.","#####.O#.#######.#.#.#######"}

    Returns: 192

  48. 40

    35

    {"......O.#.O.....O...O..O.O...OO.O..",".OO#....O.OOOO...#.#...OO......O#OO",".O..#..........##.OO.OO#O........O.","#.......O.#..#..O..O..O..#OO.O.#...",".O.OO......O.O..O............#.....","..#O.O...O.O#.#.....##....O....O.#.","O..#...O...O....OO......O.#.O...O..","....#..#.#...O.O...........O.#.O...","......OO#..#O.O..O............#...#","O..O.OO...#.............O..O..O....","...O......O..OO....#...#......OO.#.","#....................OO.OO##.......","...O...#..OOO.OO....O.O..O.OO......",".#.#.O.O......#.##..O#....#..O..O##",".O..O...#.O.O.O..#.......###.#..O.#",".O...O.O.#.#...........#.#.O.#O....","..O......OO.....#.....#.O..OO......","...#.#OO....O.............O.##.O...",".O.O...O..OO..O.O..O...O..O.....O..","..O..O.O.#O......#O..O#........#...",".....O...O...OO.......O#.OO##...O..","O#O.....OO#..#O.OO...#.#.....O.O..#","###....O..OO........O...O..O.......","....O.....O.....O...OO.OOO.....#.O.","...O.........O..O.##.......#.O.##O.","....O.OO......OO..........#....#...","O..#..#..#.#####...........#..#O..#",".....O............O....O..O........","...#.#.......O.....O.OOO..O..#O.O.O",".#...O...#...O........#O....OO.....","..O..O.#.##......#...O.#...O.O...#O","O.O.O.....O.#..O......O#.#O..O.....",".O........O.#...O.....#.......O....","O..O.O....#OO#O#.#.O..#..#.O.OO..#O",".O..#...##...O#..O....#..O#.......O","...#...O....#O..OO#......OOOO......","##O..#.#........#O.#....#.O#O..O..O",".O....O...#...#O#.....#......#.O.O#",".#...O.O.O#.O........O.............","#OO....O.O...#.OO...........O......"}

    Returns: 30

  49. 21

    50

    {"...O.O..#..#.........OO...O........O........OO.O..","......#.#OO...OO.........#..O.O#OO.....O..O#..O#.#","......#O..#...O.#.#..#....#...#...#..O##O.......O.","...OO.O..O.O.......#..OO....#..O...O......O...O...","OOO#...O.O...O....#.OO....#O.OO..#...#OO..##....OO","O..#O......OO........OO.O.......O.#..O..#.......#.",".........OO.......#.........##O..O....#.....#....O","..O#....#O......O..OO.O...O#............#O#..O.O..","......O...O...OO.....#.O..O...#...#O.O#.....##O#.O",".#.#OO...O.....O..##.O...O#.O...O.....O........#..",".O#...O.........#..#O.#.O......O..O#..O.O.......O.","O.#..O..O.#....#O.......#.OO...#........#O........","....O.#...O........O#....O....O......#.......#..#.","O.#...O..###....#......O.##.#O.O.....#O...O.......",".O..#....O.#...#....O.....O........#.........O...#",".O...###...OOO.............#....#O..#...O...#...O#","..O....OO...O......O..##.O.......O.......OO...O..#","..#..O......#....O##...#...#..O..OOO...O...O......","..#..#..O..O.OOO#.OO...#......O#.....O.....O#....#","O..OOO.OO...##....O#.#.OO..O..#O.......#.#..OO....","OOO..#...#.OOO..O.O...#.............O..O....OO...#"}

    Returns: 19

  50. 30

    46

    {"#.OO......O..#........#.#O.#O.O..O#.....##....",".O...##.......#O##O.O##...O...OO...##..#.#..#.","..#.##O....#O.......#.##.#..#####...#......#.O",".O#..O....O..O.#.O##.###..#....O.#OO.O...#.###","....##...#O###....#.#.#...#.#..#....####O..O##","O..###O.O...#...#O#...#..#.#O##O#.#.O...O#....",".#O...#.#...####....#..##..#.O.O#.#..#....##.O","..#O.#.O.#....#...#.#.O..O.OO....#.#..O..O.#.#","O.#.##..O.#O.O.##.#...O....##...OO.##.......#.","#.#...#.....#.O#.#..#..##...O#.#O.##..O#..O###",".#.#.......#....O....##...#..#..O..O...O.##..O","##..#.#OO.#.O.O........##O###...#O..#####....#",".O#...##.#.##O..O...O..O..##.O#O#...O#..####.#","O.##...#.O#....#.#...##O....##.##...#.#.##.#..",".....#..#O#...####.#.#O#..#.#.#..#O.#O....O#..","#.#.#...#........#..#O#..O.#.O##.O.O..#O#...O.",".O..O#.O#O#..#...###.###O..O.#..#...O#.#.#.#.#","...O..#......O#.O##.##O##O#..#.O.#......#.O..O","....O...O.....O#.###O#O..##......#...O#..O#...",".O#OO.##..#...#O...#..###.#O.O##O..#..#.O..##.",".##...##......O..#.###..#..#O..#...O..#.#O...#",".O..#.#..O.##.#.#...####.....OO....#..O##.....","#.#......#...O##.##..#.OO...#.#O...OOO#.O#...O","#.#....##.O#O.#..##.##.O..#..#O..#.####...#.#.",".###.##O##...O#.####..#.O.O###.#..O.O#.###..##",".##.#O#O.#..##.O....O.#O...##...O.O#..#.O...#O","O#....O....O...###.######..#.#..OO###.#O...###",".##..#.O##O.O#O.O#.O..O#..####.O.##.###...OO#.","#O...#.O#..##..##O.O...O..O##..#OOO.O..#.###O#",".#.###.##.##..O.#O.....#.#.##...#.O##.O...##OO"}

    Returns: 206

  51. 28

    37

    {"OOO###O##O##OOO#O#.O#O#O#.O#####.O###","OOO#O.#OO##.#O.##OOO#O#O##.OO#O#OO#OO","O#O###O######OOOO#.#OOOO##O#O#.##O#O#","O###O#O#.O.O#O##O#O####OO####O##O#O##","O#########O#O##OO#####.####O##.#####O","#O#####.O#.###O#OO#O###OOO##O##OO###O","####O##.O##OOO#OOO#OOO#######O#OOOOOO","##O##O######OOO##OO####O#O#O###OOO##O","OO##.#O##O.#O###OO#O####..O##O##.OOO#","#OOO##O.####O#O###O#O#O##OO.##O###OO#","#######OO##.O.###.O.####..OOO#O###.#O","#O########OOO######.#.##.O.OO#O#O.##O","#####O#OOOOO##OO.O.###OO##O##OO##O#OO","#O#O#OOO.O##O##O.#O#####O.OO#OO####OO","##.#O######OO#.#OO##O##O#OO#O####.OO.","#O###O##OO###OOOO#O#O#.#..#.O##.#O###","######O#O##OO.####O###OOO#O##OO##O###","O#O#OO#OO##O###O#.#####O##OO#O#O###O#",".#####OO#O#O###OOOO#OO##O###.OOOOOO#.","###O#O.############O#O.O##O#O#OO###OO","#O##O######OO##.###OOO#OOOO#O#OO.####","O#.O.##O#O#O###O##OO#O.O##OOO#O#O##.O","##.#OO.####.#O##OOO#OO##O#####O##.O#O","O#OOO.#OO#..OO.#O.#.OO###OO###.#O###O",".OOO##.##O##O#OOO###O#O##O#O#.#.O#O.#","OOO#OO#####O#O#OO#O#OOO#OO##.O#O#OOOO","###O.OO#O##.##O###OO#..#O#.OO###OO###","O.###.O##O#O#O##OOO###..##O##O.##OOOO"}

    Returns: 10

  52. 23

    17

    {"#..O#O.O.#.#.OO#.","#...OO.OOOO#O#O..","OO.##OOOO.OO#..OO","#OOO..OO#.#.O#.OO","#....#O#....O##O.",".#O#O##.#OO##.##.",".O#O##O#OO#.O..#O","OO.O##..OO###.O..","##OO....#.OO.#O#.","O.#OO..#.##O#O#.#","O#.O..###...#.OOO","OOO#.O#OO...##OOO","..O..##OOO.#.O..O","O...###.OOO##O.OO","O#...O.##.##..OO.","O#.##.###..O#....","..#OO.O.##..OO#..","#.##..#....O...O#","O.O.OO.##########","..#OO..#O.##O....",".#..#.#O.#O#O#OOO","..##O#O#O.#O#O...","..O#O.....#.O###."}

    Returns: 8

  53. 22

    22

    {"OOO.OOOO#OOO.OOOOOO#OO","OOO##OOO.OOOO.#.OOO#OO","OOO.#O#OOO.OOO.#O#OO#O","O.#OOOOO#OO.OOOOOOOO.#","OOOOOOOOOOOOOOOOO#.OOO","OOO.O.OOOO.OOOO..OOOO#","OOO##O#OO.OOOO.OOOOOOO",".OOO#OOOO#.#O.OOO.O#OO","O..OOO#OOOOOO#O#OOO.O.","OOOO.OOOOOOO.OO#OOOOOO","OO#OOOOOO.OOOO##OO.OOO","OOOOOOOOOOO.OOOO.##OOO","OOOO#OO#OO#OOO###OO.O#","OOOOOOOOO##O.OO.OOO##O","OO#OOOOO#OO.O#OOOOOO.O",".#O###O#OOOO#OO.OOO.#O","O.O.OO.OO##O#OOOO#O.OO","OOOOOO#OO#OO.OOOOO.OOO","OOOOOO.O#OO#O#O###O.#O","#O#OO#O.OO.OOOO#OO#OOO","OOOO#O#OOOOOO#OOO#OOOO","OOOOOO..#OOOOOO#OOOOO#"}

    Returns: 0

  54. 45

    46

    {"OOOO.OOO.O.#O#OOO#OOO#OO#OO#OOOO.OO.OOOOOOO#OO","OOOO.OOO.O.OOOO##OO.OOO.OO.OOO#.##O#.OOO.O.#OO",".OOOOOOOOOO#O.OO..OOO.#OOOOOOOOOOOOOO.OO.O..O#","O.O#OO#OOO.O#.O#OOOOO.O.O.OOOOOOOOOOO#.#OO#OOO","#OOOOOOOOO..OO.O.O.O#O.OOO.OOOOOO.OOOOOO.OOOO#",".O#OOOO.O.OOOOOO.#.O.O..OO.OOOOO.OO.OOO##OOO.O","OO#OOOOOOOOOO.OO.O.O#.OO.O.O.OOOOOO.OOOOOOOOOO","O.O...OOOO.OOO.OOOOOOOOO.OO.OOOOOOOOOOO.OOO#O#","OOOOO..OOOOOO.OO...OOOO...OOOOOOOO.OO..OOOOOOO","O.OOOO.OOO.OO#OOOO##.#..O.O#OO.OOOOOO..OOOOOOO",".OO..OO.O#OOO.OOOO.##.OOOOOOOOOOO#OOOOO..OOO#O","O.OOO.OOO#OOOOOOOO.OOO.OOOOO#OO#OO.#O#.OOOOO.O","O.OOOO#OOO#OOOOOOO#.#OOO.OOOOOOOOO.O.O#OO.#OOO",".OOO.OO.#.OO#O#OO.OOO#.O.OO.OO#OOOO.OOOOOOOOO.","OOO#OOOOOO#.#OOOOOO..#O.O#OOOOO...OOO#OO#OO..O","#OOOO.#OOOO..O#OO.O#OO#.OOO#OOO#.OOOOO#...O..O","OOOOO#O.O.O..#.OO#O..O.O#OO..O.OOOOOOOOOO.OOOO",".#OOOOOO#O#OO#.OOO.O.OOOOOOOOOOOO#O.OOOOO#O.O.","OO#O.#.OOOOOOO.O...#O.OOO#OOO.O.#.OO.OO#.OOOOO",".OO.OO##OO#..OOO#OO.O.O#O.OO#OO#OOO#OOOOOOOOO#","OO.O##OOOOOOOOOOO#.OOOOOOOOO.OOOOOOOO.OO##OO#O","O#OO..OOO#OO.OO.OOO..OOOOOOOOOO.OOOOO#OOO.OOOO","OO#OOOOOOOO.#.O.#OO.OOO#OOOOO..#OOOOOO#OO.OO.O","OOO.O#.OO.OOOOOOO#OOOOO..O.OOOOO#OO.OOOOO.OOOO",".#OO.OOO#OO#OOOOO.OOO..O#OOOO..O.#OOO.OOOO...O","OOOO##OO.O.O#OO.#.OOO.OOOO.OOOOOOOOOOOO#OO.OOO","O.OO#O#OOOOOOO##OOOOOOOOOOO..#OOOOOOOOOO.OO.#.","...OOOOO#O.###O.OO.#OO....OO.O#.OO.OOOO.O#O..#","O#OOOOO##OOOOOOOO.OOOO.O.OOOOOO#OO#OOO.OO##.O.","O#OOOOOO.O.OOOOOOOOOOOO...OOOO#.O.OOOO.O#.OOOO","OOOOOOOOOOOOO.OOOO.#OO.OOOOOOOOOOOO#O.OOO..OOO","OOOO#O##OOOOOOOOOOOOO.OO#O.OOO.OOOO#OOOOOOOO#.",".OOO#.O#OOO..OO..O#OOOOOO#.OOOO.OOOO.OOOO#OOO#","OO##OO..OO##OO.O..O##OOO#O.O#O#OOO.O#OOOOOO.OO","OOOOOOOOOOOOOOOO.O.OOOOOOOOOOO#O.OOOOO.#OOOO#O","OO.O.OO.OOOO#OOOOOOOO.OOOOOOOOO#OOOOOOO#OOO#OO","OO#OO#OO#OOO.O#O.#OOOO.OOOOO..#OO#OOOOOOOOOO.O","OOOOOOOO.OO#OO#.OOOOOO#O.OOOO.OOOOO#.OOO#O...O","OOOOOOOOO#OOO#OOOO.O#OOOOOO#OOOO.OO.OOO..OOOO.","O.OOO...OOOO##OOO.OO#OOOOOOOOOO.OOO#OO.OO..##O",".OOO.#.OOOOOOOOO#OO.#.OO##OO.OOOOOOO#OOO..O..O","OO#..OOOOO.OOOOOOOOO.OOOOOOOOO.O.O.O.#O#OOO.O.","O.O.OOOO.O#OOOOO.#OOO#OOOOO#OO.OOOO#OO.OOO##.O","O..O.OOOO#OOO..OOOO.O.OOO.O.OO.O.#OOOOOO.OOOOO",".OOOOOOOOOOO.OO..OOOOOOOOOOOOOOOOOO..OO#.OO..O"}

    Returns: 0

  55. 26

    32

    {"O.O#OO#OOO#O.#.##O#OO#O.O.##O###","###.O.O#O##OO.O#..OO.####O##OO#O",".#.###O..OOO##O.O#OO#.OOO.##OO..",".#.##..O.OOO.##O##.#.#.OO..O.###","##..##O##O.#O#OO.O##O.OO.OOOO#O#","##OO##O.OOO##O.#O###OOOO.O.#O##O","OOO.OO#O#....#..O.O..O.OO#.#OO..","O#O.#OOO.####OOOO.O#.....OOOO.#O","#OO#O#OO.OO#OO##OOO..##OO.#OO#.O",".OO#O.#O.O#O.O#O#.#O#OO..OO.##O#","..#O#OO.O##OOO#O.OOO.#O#..OOO#O#","O##..#.OO.OOO#.OOO###..OO#O#.#OO","O.OO##.O.#.##O#.OOOOO#O.#OO.###.","#O.#.OO##..#OO#O.#..OOO#O#O#.OO#","O....OOOOO#OO##O.#O.OOO.O.##..#O","OO###OO#O#.O#O..#O.O#OO##OO###.O","OOOOO.OO.O#O.#OO.O##OOO#OO.O#O##","OO...O.O#OO.#O#..##O#O.#.O#OO.O#",".O..O#O#.#OO....O..O#.O.##O.#O##","OO.O##.OO##OO#O.OOO##O..#O#O.OOO",".O.OO.##.OOOO..OO#O#.#O#.#O#OO##","#####OOO#.###O#OO#.O##.####O..#.","O#.##O.O...O.OO###OOO.OOOOOOO..O","..OO##O.O...OOOO##OO##.O#OO#O.OO","#O##.#.OO.O..#.O##.#O.##.#OO#..#","..#OOO##....OOOOOOOOOOO#.O#..#.O"}

    Returns: 11

  56. 50

    3

    {"##.","#.#","###","###","###","##O","#.#","###",".O#","##.",".##","###","#..","O.#","#O#","##O","..#","O##","#O#","###","###","..#","#O#","##.","##.","O##","...",".#.",".##","###","O#O","###","#..","###","##O","##.","##O","##.","###","###",".##","##O","###","#O#","###","##.","O#O","##.","##.","##."}

    Returns: 16

  57. 1

    1

    {"O" }

    Returns: 0

  58. 4

    5

    {".....", ".O#..", ".#.O.", "....." }

    Returns: 9

  59. 1

    1

    {"#" }

    Returns: 0

  60. 4

    5

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

    Returns: 12

  61. 4

    5

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

    Returns: 6

  62. 4

    5

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

    Returns: 9

  63. 3

    4

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

    Returns: 6

  64. 1

    4

    {"O#.#" }

    Returns: 1


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: