Statistics

Problem Statement for "AreaSplit"

Problem Statement

Some square tiles have been selected from a N x M chessboard, building a pattern (not necessarily connected). You have the task of coloring some of the selected tiles red and all of the others blue so that the pattern composed by the blue tiles is a shifted copy of the pattern composed by the red tiles. One example is shown in the figure below (the white tiles in the left image are the selected tiles, which are colored in the right image).

You will be given a String[] board containing N elements, each of them M characters long, with a character '#' indicating that the tile in the corresponding position belongs to the selected tiles (i.e., to be colored, the white tiles in the example above), a character '.' indicating a tile that shall be ignored (the gray tiles in the example above). Return a String[] representing the red pattern, after cropping the image to the smallest rectangle that contains all the red tiles. Use the character '#' to denote tiles painted in red, '.' to denote other tiles. If there are several ways to color the tiles so that two equal patterns are created (one in red, one in blue), use the solution in which the red pattern has the smallest width (horizontal distance from the leftmost red tile to the rightmost red tile). If there are several ways with the smallest width, use the solution among them with the smallest height (vertical distance from the uppermost red tile to the lowermost red tile). If there is still a tie, use the one among the tied ones that comes first lexicographically after you concatenate the Strings representing the solution ('#' comes before '.'). If there is no solution, return an empty String[].

Definition

Class:
AreaSplit
Method:
halfPattern
Parameters:
String[]
Returns:
String[]
Method signature:
String[] halfPattern(String[] board)
(be sure your method is public)

Notes

  • Since the red and blue patterns are translated copies of the same pattern, the returned value would be the same if we asked for the blue pattern (since we crop the returned value to the width/height of the resulting pattern).
  • All elements of the returned String[] shall have the same length (the width of the red pattern).

Constraints

  • board will contain between 1 and 50 elements, inclusive.
  • Each element of board will have between 1 and 50 characters, inclusive.
  • Each character of each element of board will be either '#' or '.'.
  • There will be at least one '#' character in at least one element of board.

Examples

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

    Returns: {"##..", ".#..", "####", "###.", "#..." }

    The example from the problem statement.

  2. {"##", "##"}

    Returns: {"#", "#" }

    Here, two different half-patterns are possible: the horizontal {"##"} (width 2, height 1) and the vertical {"#", "#"} (width 1, height 2). We return the one with the smallest width.

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

    Returns: {".#", "##" }

    Note that the pattern need not be connected.

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

    Returns: {"#.##", "#..." }

    Even if the pattern is connected, the solution may not be connected.

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

    Returns: { }

    We can not split this pattern into two equal patterns.

  6. {"#"}

    Returns: { }

  7. {"##"}

    Returns: {"#" }

  8. {"#", "#"}

    Returns: {"#" }

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

    Returns: {"##", "#." }

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

    Returns: { }

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

    Returns: {"#" }

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

    Returns: {"#", ".", "#" }

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

    Returns: {"#.", ".#" }

    Here, both {"#.", ".#"} and {".#", "#."} are possible solutions. We have to return the first of these solutions (if we concatenate the two Strings of that solution we get "#..#" which comes lexicographically before ".##.", the concatenation of the Strings of the second solution).

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

    Returns: {"#####" }

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

    Returns: {"###", "###" }

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

    Returns: {"#", "#", "#" }

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

    Returns: {"#", "#", "#", "#" }

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

    Returns: {"#" }

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

    Returns: {"#", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "#" }

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

    Returns: {"#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################", "#########################" }

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

    Returns: { }

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

    Returns: {"#" }

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

    Returns: {"#########################" }

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

    Returns: {"#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#", "#" }

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

    Returns: { }

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

    Returns: { }

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

    Returns: { }

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

    Returns: { }

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

    Returns: {"...#.", "..#..", ".....", ".#...", ".....", ".....", ".....", ".....", ".....", ".....", "#...#", ".....", "....#", ".....", ".....", ".....", ".....", ".#.#." }

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

    Returns: {"##..#...", "#.#.....", ".####.##", ".......#", ".##.#.#.", "..#.....", "#..#####", "##..#...", "#####...", ".#.###..", "##.##..#", "#..#....", "###.##..", "...#..#." }

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

    Returns: {".###.", ".####", ".#..#", ".###.", "#.#.#", "#.###", ".#...", "#####", "#..#.", "#.###", "###..", "####.", "..###", ".###.", "##.#.", "###.#", ".#..#", "...#.", ".###.", "####.", "#####" }

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

    Returns: {".#.#.", ".....", "..##.", "..#..", ".#..#", "##...", "..#.#", "...#.", ".#.#.", ".....", "#..#.", ".###.", "..##.", "#.#..", "#....", ".####", "##...", "#.#.#", "#.#..", ".####", ".#...", ".#...", "...#.", "..#.#", "##.#.", "..#..", "#.#..", ".....", "..#.#" }

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

    Returns: {".#.####.....", "###..#######", ".##.#####.##", "###..#..#..#", "#.###.###...", ".#.##.###...", "#..###.....#", "#..##.#.##.#", ".#..###.#.#.", "..#..##.#.##" }

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

    Returns: {"#.##.#.##", ".....#..#", ".##...#.#", "###...###", ".##..#...", "...#.##.#", ".#.######", "#..##.##." }

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

    Returns: {"#######", "#######", "#######", "#######", "#######", "#######", "#######", "#######" }

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

    Returns: {"##.........................#....#........", "........###...#...##.....#..........#....", "...................#.#....#.........#....", "........................................#", ".....##...##.....#.............#.#..##...", ".#....#......##.....#...#................", "...............#.....#.#.....#...#.......", "....#...#.........#............####...#.#", "#.......#....#...#....#...#..#...........", "........#.#.....#........#..............#", ".....##...........#.#...#.#...........#.." }

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

    Returns: {"........#...#.####...#...#...", "######.##.#########.#..###..#", "..##...#####.#..#....#...##.#", "#..###.###.###...##.#.###..##", "#####....####..##.#..##..##..", "##..##...##..#.##..###.....#.", "##.....##.###.#.#..#...##..##", "#####..##.##....##...##..##.#", "##.##.##..####.####..#...##..", ".##..#..##########..#####....", "#.##...#.#..#######.#..#..#.#", "##.#..#.#.#....##....#...#..." }

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

    Returns: {"..#...", "......", "##....", ".....#", "......", "......", "......", ".##...", "...##.", "#.....", "......", ".#....", "...#..", "......", "...##.", "....#." }

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

    Returns: {".....#..", ".....#..", ".....#..", ".......#", "........", "........", "........", "........", "........", "..#.....", "#.......", "........", "...#....", "........", "....#..." }

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

    Returns: {"................#......#...", "..#...#............#.......", "#..##.....#........#..#....", "................#..........", "..........##...............", ".......##..................", "......#....##..#........#..", "..#............#........#..", "...........#...............", ".#.................#..#...#", "...#................#......", "......#.#..................", "........#..........#.....#.", ".....#...#..#..#.#.....#...", "#.......#.................." }

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

    Returns: {"...#..###....#.#.", "##.#.....#....#.#", "##...#.#.#..##...", "######.##.#....##", "#####..###.##..##", "#.#..#..#..#....#", "..#..#..#.#...#.#", ".###.##.#..##.##.", "##.....#.#.#..#..", "..#..#.#.###.....", "..#..#####.#.#.#.", "##.##.##...#.#...", "#.#######...#.#..", "#####......#....." }

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

    Returns: {"#######", "#######" }

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

    Returns: {"########################..", "########################..", "..........................", "..........................", "..########################", "..########################" }

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

    Returns: {"##.....#.#.###.", ".####.#.#######", ".#########.##.#", ".###..####.###.", ".##.###.#...#.#", "##.###...######", ".#......#.#...#", "#.#########.###", "#.##.##.####...", "#####..#####..#", "#.#.####.######", "#..#########..#", ".##.....###.##.", ".#..#.#.#.#.##." }

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

    Returns: {"##.#####.##", "##.####.###", "####.##..##", ".#.###..###", "#.#####.###", "#.##.##..##", "###..######", ".#....#..##", "#######..##", "#.##..#####", "##.#.######", "#.##.....##", "##..#.....#", "##..#....#.", "......#..##", "###.#...##.", "##.#.....#.", "...#..#..##", "#....##....", "###.####.##", ".#.......##", "##.#..##...", "##..#.#....", "##.#..#####", "##..##.####", "##..##.####", "########.##", "##...#.###.", "##..#.#####", "#####.##.##", "##.####..##", "##...#....#", "###.#######", "##..#.##..#", "##..##.#.##" }

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

    Returns: {"##...##..#.......#.##.##.##.....####.", "...##.#.#.##.#.#...#######.#..##.####", "##.##..######################.#####.#", ".#.###################.####.####.####", "###.#.####.####.#######.#####..#.#.##", "#.#####.#####.##.#.#.#####.##########", "###.###.######.#####.###########.####", "#####.###.#############.##.##########", "#.#############.#####.###############", "##.##########.##..####.#.#########.##", "##.#..###..##.#######.#.....#..#####.", "#.####...#.#.#..#.#.#.#.......#.##..#" }

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

    Returns: {"##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########", "##########" }

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

    Returns: {"##", "##", "##", "##", "##", "##", "##", "##", "##", "##", "##", "##", "##", "##", "##", "##" }

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

    Returns: {"....#.#", ".......", "#....#.", ".#....#", "#.##...", "..#.#..", ".##..#.", "##.#...", ".#..#..", "..#.#..", "#.#.##.", ".......", "#......" }

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

    Returns: {"..#....#.#.#.#..", "..##...##.....##", "##...##.....##..", "##......###...##", "##...##...#....#", "....##.....#.#.#", "#...#.#.#....###", "#....#...##...##", "..##...###...#.#", ".#.....#.#....##", ".#...###...##...", "...##...#....#.#", "#......##...#...", "...##....#.#.#..", ".##...###...#...", "#....#....###...", ".#.#...#.#.#...#", "##....##...###..", "#.#.#...##...###", "##....#...##...#", ".###.....#.#.#..", ".###....#.#...##" }

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

    Returns: {"#####.", "#####.", "#####.", "######", "#####.", "#####.", "######", "######", "######", "######", "######", "######", "######", "######", "######", "######", "######", "######", ".#####", "######", "######" }

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

    Returns: {"########", "########", "########", "########", "########", "########", "########", "########", "########" }

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

    Returns: {"#.######", "#.....##", ".##.####", ".####.##", ".#...###", ".#..####", "##..####", "##.##.##", "##...###", "...#.###", "....####", "....#.##", "..#.#.##", ".#....##", "#..#....", "...#####", "#.#..#..", "###....#", "###.###.", "###.##..", "##..##..", "##..#..#", "##..###.", "#####.#.", "######..", "######.#", "####.#.#", "###.####", "##.##.##", "#####...", "##.#.##." }

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

    Returns: {"...#..#", "...#.#.", "#.#..#.", "##...#.", "....###", ".....#.", ".#.#...", ".....#.", "...##..", "....#.#", ".....#.", "#...#..", ".......", ".....#.", ".....#.", "....##.", ".......", "....##.", "...#...", "...#..#", "...#...", "#......", "..##.#.", ".......", "....#.." }

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

    Returns: {"###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###", "###" }

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

    Returns: {"#.#...#..#..#.###.#", "###.#.#.#.#...###.#", ".#.#.#..#####...#..", "....##.##.##.#.#...", "..#.##..##.#...##..", "####.#.#...#..#.#.#", ".#..##...##.####.#.", "######...#.###.#.##", "..##.#...###..###.#", "####.###.#......#..", "#.##.####.#..##.#..", ".#.##.....##.###..#", ".#...#######.####.#", "##.#.##.....###...#", "###################", "###################", ".#.###.##.##.#...#.", "...#.#.#.#.###...#.", "#.#.#.##.....###.##", "####..#..#..#.#.###", "##.#..##..#.###..##", "....#.#.###.##.#.#.", "#.##..###..#....#.#", "......###.#...#.#..", "##..#.###...##...#.", "....#...#.######.##", ".#..#....#.##..#.##", "#.#..#####..#...##.", "#.###.......#....#.", "..#.#..#####...###." }

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

    Returns: {"....####.#.......#.....", ".##..##.#....#.#....#..", ".##...#..#....#........", "..........#.###.....#..", "....###...........#..#.", "..#.....#.....#........", ".#..#.........#.....#..", "..#.#.....#..#.........", "....#.#....##..#......#", "......#...#...##.......", "..#....##....#...###...", "##......#.....##.#...#.", "...#..........#........", ".#..##.#..#....##.#..#.", "...#.........#.#.#.....", "#..#..#...#.#..##..#...", "##...........###.......", "......##......#.#......", ".....##..#.#..##.......", "......##.#.#..#........", ".....#.#.#..#...###.#..", "..#..#.#..#.#..#.#.....", ".##.#..#....#.....#.#..", "..............#........", "....#.#.#...##.#.##..#." }

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

    Returns: {"#########.......", "#########.......", "#########.......", "#########.......", "#########.......", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", ".......#########", ".......#########", ".......#########", ".......#########", ".......#########" }

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

    Returns: {".#####", "..####", "#.####", "..####", ".#####", ".#####", "#.####", "#.####", "######", "######", "######", "######", "######", "######", "######", "######", "######", "######", "######", "#####.", "######", "####.#", "######", "#####.", "#####.", "####.#", "####.#" }

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

    Returns: {"#.......#..#....#.........#.###.......#...#.#.#", "....#...............#.#.....#.#.......#........", "...#..#...#...#...........#.#.#...........#....", "...............#.........##..#......####.......", "..#...#.............#.###...#.............#....", ".#.#.####...........#...............#....#..##.", "###............##..#....##.......#..#....#..#.#", "....#.###...#.#.#...#...#...#..##.....#....#...", "#.#.......#...#...#.###..#..####..#.......#....", ".#.......#......#......##.......#....###...#...", ".........##.#.......#.........#............##.#", ".#..##.#.#......#.#.#.....#.###.........#...#.#", ".#....#......#....#..#........#........#....##.", "#.......#...##....#.....#.#....###...#.........", ".#..........#..##...........##.......#.#..#.#..", "#.......##...#...#.....#.....##.#....#...##.#.#", "...#..#.#......###...##...###.....##.#..#....#." }

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

    Returns: {"###.###########.##", "##################", "#.#######.##.#####", "##.###############", "##################", ".#############.###", "############.#.#.#", "###..####.#######.", "##############.###", ".#################", "#####.############", "#######.##########", ".#####.#.####.#.##", ".#####.###########", "##################", "##.####.########.#", "######.###########", "##.###########.###", "##################", ".#########.#######", ".##.###.##########", "##########.#####.#", "##################", "#################.", "#############.####" }

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

    Returns: {".##.#.", "....#.", "......", "......", "......", "......", "##...#", "..#...", "......", "......", "....#.", "#..#..", "......", ".#....", "..#...", "......", "......", "##..#.", "..##..", "......", "....#.", "......", "......", "#..#..", "......", "......", "#..#..", "#.....", "...##.", ".....#", "#...#.", "..##..", "...##.", "......", ".##...", ".#....", "....#.", ".#...." }

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

    Returns: {"#..####..#.#####", "##..##.######.#.", "######.##..#####", "#.#########..#..", "....#.####.#.#.#", ".##.###.#.#.#.##", "###.#####.####.#", "##.#...#######.#", "##.#########.#.#", "#.#..#.#.##..###", "##.####..#.##.##", "##.###.##.###.##", "##.####.##.#.#..", "####..###.#..##.", "####.#####.#####", "..######.#..#.#.", "####.##.###....#", "##..##.#.####.#.", "##.####..####.#.", "##.##.####......", ".###..#..#####.#", ".####.#####.###.", "###.#..########.", "##..#.#..##..###", "#####.#.#.####..", ".#.###..########", "###..###..##.###", ".#.#.#####.##.##" }

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

    Returns: {"#####", "#####", "#####", "#####", "#####", "#####" }

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

    Returns: {"#.......#.......#........##...##..", "..#..#........#...#...#....#.#....", "#.##..#....#....#.....##.......#..", "...#........#.#..#.........#.....#" }

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

    Returns: {"....#.#.#", "#.#.....#", "#####...#", "#.#.#.##.", "##..#..#.", "...#..##.", "######.##" }

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

    Returns: {"#.#..#", "#.....", "#.#...", "#..#..", "...#..", "..####", "......", "..#.#.", "...#..", "......", "##....", ".....#", "#....#", "#.#.#.", ".#..#.", "..#.#.", ".....#", ".....#", "#....#", ".....#", "......", "#...##", "#.....", "...#..", "...#.#", "#..#..", "...###", "......", "#....#", "#..#..", ".#....", "...#.#", "#.....", "......", "#.#...", "#.....", "......", "...#.#", "#....#", "......", ".....#", "#.#.#." }

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

    Returns: {"###################", "###################", "###################", "###################", "###################", "###################", "###################", "###################", "###################", "###################", "###################", "###################" }

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

    Returns: {"#..#######", ".#########", "#....#####", "##.#.#####", "####.#####", ".#...#####", "###.######", "..########", ".#...#####", ".#...#####", "#####.##..", "######....", "#####.####", "#####..#.#", "#####....#", "######.###", "#####...#.", "#######...", "######.###", "######.###" }

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

    Returns: {"###.##..#.##.#.#...###.#######.##.####", "##.#.#..####.####...##.###.##..##.####", ".##.#..#######.#...#####..##...##.####", "######..#####.#......##..###......####", "####..##.####..############.##....####", "..#....#..##.#..#.#.###...#.......#..#", ".#....#.#.##....#....###..#...#..##..#", "#.###..#.##.......#.###.....##..###..#", "..#.......##.....#.######..##...######", "..#.....##..#....##............#..####", "######.####.##..#.##.#.#...###.#######", "#####.####.#.#..####.####...##.###.##.", "####.#...##.#..#######.#...#####..##..", "######.#######..#####.#......##..###..", "######.#####..##.####..############.##" }

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

    Returns: {"#...#.###.....#............#.", "....#....#.#.#....#..##...#.#", ".##.#...#......#.##...#.#.#.#", "..#.....#.#........#.....#...", ".#..##....#....#.#.#....#.#..", ".##......####.....#.#....#.#.", "#.##.......#.#....#..#...#...", "..###.....##.#....##......#.#", "...#.......##.......#.#......", "#.....#.....##...#.##....#..#", "#..#.#...#.............##....", "...##.....#.####...##........", "###.#..#...#.#.....#....#.#..", "..#..#.#.............#.....#.", "#..........#.##....##.#.....#", "...##....#.#...#...##...##..#", "..#...#....##.#.......##....#", "..........#.#....#....##.....", "#.......##...#........#..##..", "........##.###..#...#..##.#..", "........#.#....###...#..#....", "..#.#.#.####...........##.##.", ".##.......#...#....#.....#..#", "###.#.......#.....#....##..#.", "...###..#....#........##...#.", ".#.........#.##.#.......###..", "#...............#..#..#..##..", "..##.#...#.#####....#....#.##", "........#.#...........#.....#", "#...#.#..#.#.#.#.....##...#..", "..#..#..#...#.....#..##.###.#", "#.....#.....##..........##..#" }

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

    Returns: {".#.........", "......#....", "....#.#....", "...........", "....##.....", "......#....", "....#..#...", "...........", "#...#..#..#", "...#.......", "....#......", "#....#.#..." }

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

    Returns: {"##.##.#.#.#.###.#####.", "...#..#.#..##....####.", "#..###.#...##.##.###.#", "#.#..#.###.##.#.##.#.." }

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

    Returns: {"..#", "##.", "...", ".#.", "#.." }

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

    Returns: {"###################.#.##", "########################", "########################", "########################", "..#.#..#################" }

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

    Returns: {"##", ".#", "##", "#.", "##" }

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

    Returns: {".###.#.###.####..#..#", ".#..##....#.###.##...", "..##..#.###.#..####.#", "###..#..#..#...#....#", "..#.#.##..#.####.###.", "#..####.#...##..#..##", ".##.#....#.##.#.#..#.", "..###.##.##.....#..##", "#.####.#.#.##....#...", ".####.##....#...#####", "..##.....#..##......#", ".#......##.###.###..#", "...###...#..##..#....", ".#.....#.........##.#", ".....##.##...#....###", "..#......#.....#...##", "#.#..#....#....###.#.", "#...#.....#.#.##..#.#", "..#..#####...#.#...#.", ".....#.......#....#.#", "..#.#.##..#..#..##.#.", "...##..###..##.#.##..", "#.####.....##.#......" }

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

    Returns: {".#........##..##...#.#....###.", ".#####.#..##...#....#..##.##..", "#......#..#.....#...#..##...##", "..#..#..#...#####..##.#...####", "##....###......#.##.#..#..#..#", "......#......#...#..###..#.#.#", "...##.####......#.#.#.#.##...#", "#.....#.#...###..#...#...#..#.", "..#####....#..##.....##..#.#..", "....#.##...#......#..#.###....", "....##...##........#.....#.##.", "###.#....##...#.#.#....#....#.", ".##.......####...#.........##.", ".#...#...#............##...#.#", "#........#.......###....#.#..#", "##.#.#..#...#...##.##.#.....##", "#.....#....#.###.....#....#..#", "...#.#.....#...#.#....#...#...", "....#..........#..##..#.#....#", "...#......##...#....#....##.#.", "..#######..###.##...#.##...##.", "....#.##.#....##.....#.#####..", "..####..#...#...###.#..##.....", "..#...##....##..#.####.......#", "...#...#####....#......#.####.", "..#.##.#.#..#...###....##....." }

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

    Returns: {"#........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", "........................#" }

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

    Returns: {"###...", "###...", "###...", "...###", "...###", "...###" }

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

    Returns: {"#" }

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

    Returns: {"#" }

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

    Returns: { }

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

    Returns: {"##" }

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

    Returns: {"#", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "#" }

  86. {"#", "#" }

    Returns: {"#" }

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

    Returns: {"#" }


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: