Statistics

Problem Statement for "IncompatibleMice"

Problem Statement

You have trained 3 mice to solve a maze. They know the maze well, and are capable of running from any point to any other point in the maze following the shortest path possible, provided that a path exists between those two points. If at any point a mouse can go in multiple directions that will all result in the same shortest distance to its end point, it will choose among them with equal probability.

The maze is defined on a 2D grid of squares, where each square is either an open space or a wall. It will be given as a String[] maze, and will contain exactly 1 of each of the following 6 characters: 'a', 'A', 'b', 'B', 'c', and 'C'. These characters represent open spaces, and also define the starting and ending points for each mouse. Mouse A runs from 'a' to 'A', mouse B runs from 'b' to 'B', and mouse C runs from 'c' to 'C'. Each of the other characters in maze will be either '#' (a wall) or '.' (an open space). Mice may not run off the sides of the maze.

The mice do not like each other. In fact, if in the course of running the maze, two mice ever meet, they will fight to the death. It takes a mouse 1 second to run from the center of one open space to the center of a horizontally or vertically adjacent open space. Two mice "meet" if they ever attempt to occupy the center of the same open space at the same time, or if they move in opposite directions between the same two adjacent open spaces at the same time.

You do not want this to happen. You want all three mice to run a different path through the same maze, and you may start the mice any integer number of seconds apart (including 0 seconds), in any order. The mice do not enter the maze until you start them, and you remove a mouse from the maze immediately after it reaches its destination square. You must preselect the starting times for all three mice before the first mouse begins. That is, you cannot wait to see which path one mouse follows before deciding when to start another. Return the smallest possible total time in seconds (from the time the first mouse starts its path to the time the last mouse finishes) such that there is no chance of any mice meeting in the maze. If it is impossible for all 3 mice to reach their destination, return -1.

Definition

Class:
IncompatibleMice
Method:
totalTime
Parameters:
String[]
Returns:
int
Method signature:
int totalTime(String[] maze)
(be sure your method is public)

Constraints

  • maze will contain between 1 and 50 elements, inclusive.
  • Each element of maze will contain between 1 and 50 characters, inclusive.
  • All elements of maze will have the same length.
  • maze will be fomatted as described in the problem statement.

Examples

  1. { "########", "###a####", "##...###", "#b...B##", "##...###", "###A#cC#", "########" }

    Returns: 5

    The lengths of the 3 paths are 4, 4, and 1. If you start mice A and B at the same time, they will meet where their paths cross. However if you delay one of them by 1 second, they will miss each other. Mouse C is not a factor and can be started anytime between 0 and 4 seconds after the first mouse.

  2. { "A##.##B", ".......", "b#####a", "#.c.C.#" }

    Returns: 15

    Here, an optimal solution is to start mouse B 7 seconds after mouse A. After 7 seconds, mouse A will be between the 'A' and 'b' characters. Mouse B starts at this time one square below. One second later (after a total of 8 seconds), mouse A has moved on to its destination square, and mouse B has moved between the 'A' and the 'b'. It will then take 7 more seconds for mouse B to complete its path. Again, mouse C is not a factor.

  3. { "##.#...#.##", "##...#...##", "a..#...#..A", "##...#...##", "b..#...#..B", "##...#...##", "c..#...#..C", "##...#...##", "##.#...#.##" }

    Returns: 16

    Each mouse has 6 possible paths to its destination, all of length 14. All mice could potentially pass through the center square of the maze in the middle of their path. Therefore, they must all start at different times. If you start one mouse 1 second after another, and the third mouse 1 second after that, they will finish in a total of 16 seconds without any possibility of conflict.

  4. { "....b....", ".........", "..a......", ".........", "c.......C", ".........", "......A..", ".........", "....B...." }

    Returns: 10

  5. { "aB........Ab.cC" }

    Returns: 20

    Mice A and B each have a path of length 10, but you cannot start one until the other has completely finished.

  6. { "a................................................b", "C.................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "B...............................................Ac" }

    Returns: 195

  7. { "a#...#...#...#...#...#...#...#", "B#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "c#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#A#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#b#", "...#...#...#...#...#...#...#C#" }

    Returns: 922

  8. { "A#...#...#...#...#...#...#...#...#...#.#", "b#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "C#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#a#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#B#", "...#...#...#...#...#...#...#...#...#..c#" }

    Returns: 1560

  9. { "B#...#...#...#...#...#...#...#...#...#...#...#...#", "a#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "C#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#c#", "...#...#...#...#...#...#...#...#...#...#...#...#bA" }

    Returns: 2546

  10. { "##a..#..b#..c", "####.#.###.##", "####...#...##", "####.#.#.####", "##...#...####", "##.###.#.####", "B..#C..#..A##" }

    Returns: 17

    Mice B and C start at time 0, and mouse A starts at time 3.

  11. { "#########", "###.a.###", "##C.#..##", "#..###.B#", "#.#####.#", "#.b###c.#", "##..#..##", "###A..###", "#########" }

    Returns: 11

  12. { "#########", "###.a.###", "##C.#..##", "#..###.B#", "#.#####.#", "#.b###c.#", "##..#..##", "###.A.###", "#########" }

    Returns: 20

  13. { "#########", "###.a.###", "##C.#..##", "#..###B.#", "#.#####.#", "#.b###c.#", "##..#..##", "###A..###", "#########" }

    Returns: 20

  14. { "#########", "###.a.###", "##..#..##", "#.C###.B#", "#.#####.#", "#.b###c.#", "##..#..##", "###A..###", "#########" }

    Returns: 20

  15. { "#########", "###.a.###", "##..#..##", "#.C###B.#", "#.#####.#", "#.b###c.#", "##..#..##", "###.A.###", "#########" }

    Returns: 30

  16. {"b#", "A#", "ca", "BC"}

    Returns: 4

  17. {"#...A...c.", "..b...#...", "..#a..B#..", "#.#....#..", ".C..#....#"}

    Returns: 11

  18. {"#...A...b.", "..c...#...", "..#a..C#..", "#.#....#..", ".B..#....#"}

    Returns: 11

  19. {"#...C...b.", "..a...#...", "..#c..A#..", "#.#....#..", ".B..#....#"}

    Returns: 11

  20. {"#...C...a.", "..b...#...", "..#c..B#..", "#.#....#..", ".A..#....#"}

    Returns: 11

  21. {"#...B...c.", "..a...#...", "..#b..A#..", "#.#....#..", ".C..#....#"}

    Returns: 11

  22. {"#...B...a.", "..c...#...", "..#b..C#..", "#.#....#..", ".A..#....#"}

    Returns: 11

  23. {"C.#...", "..#..#", "a....A", "..b...", "......", ".#...#", ".#..Bc"}

    Returns: 12

  24. { "aA.", "b.B", "c.C" }

    Returns: 2

  25. { "...a...", ".#####.", "Bc...bC", "###.###", "###A###" }

    Returns: 13

    Unfortunately, we must select the starting times of mice before the experiment, so we will not be able to let the first mouse A run and see which way will it choose.

  26. {"#b..", "#A#.", "a#..", "BC.c"}

    Returns: 18

  27. {"#..Ba", "..###", ".##.A", ".#..b", "..Cc#"}

    Returns: 26

  28. {"BcA", ".#.", "aCb"}

    Returns: 11

  29. {"#.##Cb", "..c.#.", ".A#B#.", ".###.a", ".#...#", "...##."}

    Returns: 34

  30. {"A#...#", "b#.#.#", "C#.#.#", ".#.#.#", ".#.#a#", "...#Bc"}

    Returns: 36

  31. {"#.....", "#..#.#", "..#C.#", ".a#b#c", ".####B", "..A..."}

    Returns: 38

  32. {"..aA#C", ".##.#b", ".##.#.", ".#Bc#.", ".####.", "......"}

    Returns: 42

  33. {"..aBc...", ".######.", "..#CbA#.", "#.#.#.#.", "#.#.#.#.", "#.#.#.#.", "#.#.#.#.", "#...#..."}

    Returns: 41

  34. {"A......b", ".######.", "..#...#.", "#.#.#.#.", "#.#.#.#.", "#.#B#a#C", "#c#.#.#.", "#...#..."}

    Returns: 43

  35. {"......b.", "C######.", "..#...#.", "#.#.#.#.", "#.#B#c#.", "#.#.#.#A", "#a#.#.#.", "#...#..."}

    Returns: 44

  36. { ".#....##..##.##..##.#....##..#..##.#..#.##........", ".....#.....#..#...##.#.#.##.##..#....#.#.......#.#", "#...#....#.#...#.##...........##.##..#.#####.#..##", ".......#######..#.#.#....#.....#...###.#..#.....#.", ".#.#.####.....#....##.....#.....##....#.#...#...#.", ".##..###.##.#..#..##...#.###...#..#...#....#..###.", "...##.##.....#.#.#....#...#.#....#....##..##......", "#.#.#.##....#..#.#....#...#...#..###.......#.#..#.", "#.........#..#...#..#..#..#....#..#....#.##......#", ".#.#...#..#........#..#####....#.##..#....#.......", "#..####.##.###..#######..#........#...##.#......#.", ".#...#.##.##.#..##.....#.#......#.....#....#..####", ".#.#.#...#.##.#.........#...##.#######.##..#.#.#..", ".#...#....#....#........#........#......#.##.##.##", ".....#.#.#..#...##..####.#....##..##.#.....#..#..#", "#.#.##..##.#..##..#.......#...#..###...#.#..#.#.#.", ".##..#...#.....#.#......###..B##...#.....b#..#...#", ".##.#...#.##.##...#.#.####...#.#....##.#..#.#..#.#", "#.#...#.#.#.#..#..#...#.#...#........##.###.#.#.##", "#...#..##......##.#..#.#..#...##.##...##.###.##...", "#............###.#.##...#.........###..#...#......", "...#.#.#.##....#......#..###.............##.#.#.#.", "###..#..##......#.#.#.##...#.#.....#.....#...#.#..", "##.....#..#...##.#....#...#....#.#.....##....#...#", "##..#.#..##..#.##....##...#.#...#....#...#....#...", "...#...#.#..#...##.#...#.##...#..####.#...#####..#", "...#.##....#....##...##.#..#.#.##..##............#", "##...#.#####.........#...#..##..#.##..#...#.#.....", "##.....##.#.##.#.#...##.....#...#.#.#.#....##..#.#", "#...#........##..#...#.#C.#..###...#...#.#..#.#.##", "..####..#.###..##.##......##.#.#....###..#...#.#.#", "#.....#..#.......#..#..#...####.##...##.#.#....##.", "..##.#.#.#.#..###..##...#..##.....###..##...#.....", "###..####..#.#.........#...#.......#.##...###..A.#", "#.#....#..#....##...###.#####.#.###.#..##..#.####.", ".#..#.......#...#..###.##....#......###...#.##.#..", "#.....#....#...#..##...#.....#...#...#...#......#.", ".......#.....#..##...##.##.##.#.#..##.##.#.#.#....", "#.#.#....##.........##.........##.#####..##.......", ".##..#.......#....#...#.....#...#.....#..#...##...", ".......##..#.#.#a..#..###.#.####..#.#....c..#...#.", "##...######...#.#.##..#.#......#.##..#....##.#.#..", "#.#.#...###.##..#.#....#.#.....#.#.....#.......#..", "..#......###.##.#..#..#.##.#...#..............#...", "###.###.######......#.####.#.##.#..#..#...#...#..#", "#.....#...#....#...#.#..........##.#....#.....##..", ".###..###.#..#.#.##.....#.##.#....###....##..#.#..", "..##....#..#...#...#..##...#.##.#...#...##......##", ".....##.....#.#.##..#..#.###..##........##.....#..", "#...#####..#.#.##...##.#....#........#######.#.#.." }

    Returns: 262

  37. { "#.###.##.#......#..#.......#..#..#.####.....#.##.#", "####..#..#.#.#.#.####....#.##...##.....#......#..#", "....#..##..#...#.#.#.#..#..##.##.#.#####..#....#.#", ".##..###.#...#......#...##....#.#...#...#...#..##.", ".....#....###.#...#.#.#.##...#.##..#..............", ".#...##.#..#..#.##.....##.#.###..#...#.#.##.#...#.", ".##.#..#.###.#.......#..#.#..#......####.......###", "..##.#...........##..##..#.#.....##.....#.#####.#.", "..###..#..a##..##..##..#..#....#....##.##...#....#", "..#..###...#.###......##..#...#.#......##..#..#...", "#.##..#..#.....#..#.#....###...........##...#.####", "##...#..#...#..#..#..##.#.......#.#........####.#.", "..#...##.#.....#...#...#..#..###.....#.##..#......", "#......##.##.#....#....#.#....###..#......#.......", "#...#..#....#.##.#.....#....##.###.#..###..#...##.", "##..#..#.#.A#..#..#...#.##..##..#...###..#........", ".#.....#........####.####...###.##....###.##..###.", ".#......######..#.#...#.....#.#..###..#..#.##.....", "#.#.##.....#.....####....#...##.......#.#.#..##..#", ".#..###...##.#..#.#.#...##....###.#...###..#..#...", ".##.#...#..#.#.#..#....##.##.##...##.........#..##", ".#.#..#####...#...###.#..##....#.#.#.#.##......#.#", "#...#......#......#......##.....#.............#...", "###.####......#.#..##..##....#.......#...###......", ".......##.#...#......#...##......#..#####.#..#..#.", "##.#.#...##..###..#..##..#.#........#.#...####..##", "..#..#.........#..#.##.#..##...#...##.....#....#..", "........#.#.###......##.#.#...#.#...#...##....###.", "..####..##.##..###.#.###...#..##..#.####.....##.#.", ".#.#..##.#.#...#.#..c#C..##..##..#..#.#..#...#....", ".#..#..##.#.##..#..#..####.###......##..#..#..##..", "....###...#.#..#...#.###.....##......#..##.#..#...", "##..#.#..#....#.#.......##..#..#..##.#...##...#..#", "..#.....#.b.#.###.##...#.#..#.........#...####....", "............####.##..#.###......##.....#.#....####", "....#...#....##...###.#.#.#...####.#..##..#.#....#", ".#.......##..#....#.#.......#..#####...##....##.##", "..#....##...#.#.......#......#......##.#.....##...", "...#####..#..#..#..###.#.#.##...##.#.#.##...#.##..", "..###.....##.#...###.##.......#####.###.#.....#..#", "....####.##..#..##...#..##..#.#.##...#....#.##..#.", ".##..#..#.#...#.....#.#.........#.#..##..##.#.#...", "#..#...##...##..#..##.#.##...#.#.....#.#.#..##..##", "#..####.#.#..#####..#....#..#..#.#.##..#.#..#....#", ".#....##......##........#.#..##.....##.....#.####.", "#....#....######.#......#.##.#....##.#.#.####..###", "##.#...#.##.#.####...###.....##.##..####.#...#.###", "#.#........#.#..##..#.....#.#..##.##...#.....##.##", ".#.#..#.##......###.............###....##........#", "#..#####.##..#B.....##........#.#.####.....###...."}

    Returns: 278

  38. { "AbC...............................................", "#################################################.", "................................................#.", ".##############################################.#.", ".#............................................#.#.", ".#.##########################################.#.#.", ".#.#........................................#.#.#.", ".#.#.######################################.#.#.#.", ".#.#.#....................................#.#.#.#.", ".#.#.#.##################################.#.#.#.#.", ".#.#.#.#................................#.#.#.#.#.", ".#.#.#.#.##############################.#.#.#.#.#.", ".#.#.#.#.#............................#.#.#.#.#.#.", ".#.#.#.#.#.##########################.#.#.#.#.#.#.", ".#.#.#.#.#.#........................#.#.#.#.#.#.#.", ".#.#.#.#.#.#.######################.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#....................#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.##################.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#................#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.##############.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#............#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.##########.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#........#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.######.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#..cB#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.##a#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.####.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#......#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.########.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#..........#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.############.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#..............#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.################.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#..................#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.####################.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#......................#.#.#.#.#.#.#.", ".#.#.#.#.#.#.########################.#.#.#.#.#.#.", ".#.#.#.#.#.#..........................#.#.#.#.#.#.", ".#.#.#.#.#.############################.#.#.#.#.#.", ".#.#.#.#.#..............................#.#.#.#.#.", ".#.#.#.#.################################.#.#.#.#.", ".#.#.#.#..................................#.#.#.#.", ".#.#.#.####################################.#.#.#.", ".#.#.#......................................#.#.#.", ".#.#.########################################.#.#.", ".#.#..........................................#.#.", ".#.############################################.#.", ".#..............................................#.", ".################################################.", ".................................................." }

    Returns: 2594

  39. { "............#...#...#...#...#...#...#.....#.......", "...........#..#...#...#...#...#...#..#..#..#..###.", "..........#..#######################..#..#..#..#Ca", ".........#..#.......................#..#..#..#..#B", "........#..#..#####################..#..#..#..#..#", ".......#..#..#.....................#..#..#..#..#..", "......#..#..#..###################..#..#..#..#..#.", ".....#..#..#..#...................#..#..#..#..#...", "....#..#..#..#..#################..#..#..#..#..#..", "...#..#..#..#..#.................#..#..#..#..#..#.", "..#..#..#..#..#..###############..#..#..#..#..#..#", ".#..#..#..#..#..#...............#..#..#..#..#..#..", "#..#..#..#..#..#..#############..#..#..#..#..#..#.", "..#..#..#..#..#..#.............#..#..#..#..#..#.#.", ".#..#..#..#..#..#..###########..#..#..#..#..#.#.#.", ".#.#..#..#..#..#..#...........#..#..#..#..#.#.#.#.", ".#.#.#..#..#..#..#..#########..#..#..#..#.#.#.#.#.", ".#.#.#.#..#..#..#..#.........#..#..#..#.#.#.#.#.#.", ".#.#.#.#.#..#..#..#..#######..#..#..#.#.#.#.#.#.#.", ".#.#.#.#.#.#..#..#..#.......#..#..#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#..#..#..#####..#..#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#..#..#.....#..#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#..#..###..#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#..#...#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#..#c#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#Ab#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#..##..#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#..#....#..#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#..#..####..#..#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#..#..#......#..#..#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#..#..#..######..#..#..#.#.#.#.#.#.#.", ".#.#.#.#.#.#..#..#..#........#..#..#..#.#.#.#.#.#.", ".#.#.#.#.#..#..#..#..########..#..#..#..#.#.#.#.#.", ".#.#.#.#..#..#..#..#..........#..#..#..#..#.#.#.#.", ".#.#.#..#..#..#..#..##########..#..#..#..#..#.#.#.", ".#.#..#..#..#..#..#............#..#..#..#..#..#.#.", ".#..#..#..#..#..#..############..#..#..#..#..#..#.", "..#..#..#..#..#..#..............#..#..#..#..#..#..", "#..#..#..#..#..#..##############..#..#..#..#..#..#", ".#..#..#..#..#..#................#..#..#..#..#..#.", "..#..#..#..#..#..################..#..#..#..#..#..", "...#..#..#..#..#..................#..#..#..#..#...", "....#..#..#..#..##################..#..#..#..#....", ".....#..#..#..#....................#..#..#..#.....", "......#..#..#..####################..#..#..#......", ".......#..#..#......................#..#..#.......", "........#..#..######################..#..#........", ".........#..#........................#..#.........", "..........#..########################..#..........", "...........#..........................#..........." }

    Returns: 2660

  40. { "....#...#...#...#...#...#...#...#...#.....#.......", ".##...#...#...#...#...#...#...#...#..#..#..#..###.", "..##################################..#..#..#..#Ca", "#.#...#...###.......................#..#..#..#..#B", "..#.#...#.##..#####################..#..#..#..#..#", ".##.####..#..#.....................#..#..#..#..#..", "..#.###..#..#..###################..#..#..#..#..#.", "#.#.##..#..#..#...................#..#..#..#..#...", "....#..#..#..#..#################..#..#..#..#..#..", "####..#..#..#..#.................#..#..#..#..#..#.", ".....#..#..#..#..###############..#..#..#..#..#..#", ".####..#..#..#..#...............#..#..#..#..#..#..", ".###..#..#..#..#..#############..#..#..#..#..#..#.", ".##..#..#..#..#..#.............#..#..#..#..#..#.#.", ".#..#..#..#..#..#..###########..#..#..#..#..#.#.#.", ".#.#..#..#..#..#..#...........#..#..#..#..#.#.#.#.", ".#.#.#..#..#..#..#..#########..#..#..#..#.#.#.#.#.", ".#.#.#.#..#..#..#..#.........#..#..#..#.#.#.#.#.#.", ".#.#.#.#.#..#..#..#..#######..#..#..#.#.#.#.#.#.#.", ".#.#.#.#.#.#..#..#..#.......#..#..#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#..#..#..#####..#..#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#..#..#.....#..#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#..#..###..#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#..#...#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#..#c#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#Ab#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#..##..#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#..#....#..#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#..#..####..#..#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#..#..#......#..#..#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#..#..#..######..#..#..#.#.#.#.#.#.#.", ".#.#.#.#.#.#..#..#..#........#..#..#..#.#.#.#.#.#.", ".#.#.#.#.#..#..#..#..########..#..#..#..#.#.#.#.#.", ".#.#.#.#..#..#..#..#..........#..#..#..#..#.#.#.#.", ".#.#.#..#..#..#..#..##########..#..#..#..#..#.#.#.", ".#.#..#..#..#..#..#............#..#..#..#..#..#.#.", ".#..#..#..#..#..#..############..#..#..#..#..#..#.", "..#..#..#..#..#..#..............#..#..#..#..#..#..", "#.##..#..#..#..#..##############..#..#..#..#..##.#", "..###..#..#..#..#................#..#..#..#..#.#..", ".#####..#..#..#..################..#..#..#..#..##.", "..#...#..#..#..#..................#..#..#..#...#..", "#.#.#..#..#..#..##################..#..#..#..#.#.#", "..#.##..#..#..#....................#..#..#..#..#..", ".##.###..#..#..####################..#..#..#..###.", "..#.####..#..#......................#..#..#..###..", "#.#.....#..#..######################..#..#..####.#", "..#####.##..#........................#..##.#####..", ".#...#..###..########################..###..#...#.", "...#...#####..........................#####...#..." }

    Returns: 2864

  41. { ".....#..Ba", "#..#..#.c#", ".#..#..#..", "..#..#..#.", "...#..#...", ".#..#..#..", "..#..#..#.", "#..#..#..#", "A#..#..#..", "bC...#...." }

    Returns: 108

  42. { "bA#.....#.....#.....#.....#.....#.....#.....#.....", "C#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#", "...#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#...", "#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#", "...#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#...", "#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#", "...#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#...", "#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#", "...#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#...", "#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#", "...#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#...", "#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#", "...#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#...", "#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#", "...#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#...", "#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#", "...#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..", ".#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#...", "#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#.", "..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#..#a.", "....#.....#.....#.....#.....#.....#.....#.....#cB#" }

    Returns: 3202

  43. { ".a.A.#...", ".b...#.B.", ".c.C.#..." }

    Returns: -1

  44. {".......................................","....................B..................","................A...b..................","..c.....a.........C....................","......................................."}

    Returns: 16

  45. {"#..#..##........#....#.#......#.#..........#...",".......#.....#........#..#..#................#.",".........#..c#.#.......#..#....#...............",".##.###..#..###.#....#...#.#.#.......#.#.#B....","##.........#........#...#..##....#.............","...##.........##.............#..#...#....#....#",".#...#.#..#...#.#####...##......#.........###.#","###.........#.....#.....#.#......#........#....","#......#......###..#............##...##..#.....",".##......##...........#..#..#....##.#.......#.#",".....#..............#.#...#.##.........##..#.#.",".#.####..#....###.....#..#........#.........##.","..##.#..#.##....#.#...#.......#......#......#.#","#........#..#....##........##.....##.##..##...#","..#....#.....#..##.......#..#........#.#....#..",".......#.....#..#.#.###...#..#.#...#####.#.....","#.a.#.#...b.##.##...#.##.##...............#....","........#.#...#....#..###....#.##.#.........#..",".#..................##.##.#..#####.....#..#.#..","..#.....##.###.......#A.#......#...............","#......#....#.#...#....#...##.#....#....#..#...","#.##...#..#.##.....#.#.#.......#......##.......",".#.......##..#.....##..........#...#.......#.#.",".......##.#...#.#.......#.##.#.###.....#....#.#","...#.#......#.#...#..#.....#......#............",".....#.##C.............#...#...##...#....##....","#..#...###......#......#.#.......#.#....#...#..","...#...###...#.#.#..##........#...........#....","...#....#..##.#.......##..#.#.#.........#......","##...##..#..#.......##.##.....#..#........#....","..#.##...#.#..####....#...#...#...........#...#",".#.....#....##....#..#......#....##........#.#.","..#.......#..#.#.....#......#...#....#..#......"}

    Returns: 49

  46. {".....#..........#.....#.#........#..#..........#.","...#....#...##...#....#.a#.......##.#.###..#....#","...#.#.....#.......###...##....#.........#..#....","#.....#...#.#.....###..........#.......b#.#.##...","#.........#..##.#...#...##...........C.#.#.......",".......#........#..#.#.###..#.....##..........#..","......#..#.#......#.......................##.#...",".##...#..........#.....#...#.#..........##...#...",".##....#............#.....#.#......#..#.##.......","#..#...#....##.###..#.........#......#..###...#.#",".#.......#.....#...#.#.A............#...#.......#","B....#.......#.#....#.......#........#..#........",".#...#..##.#.....#...#.#.........#.#...........##","......#.......#.....##..........#..........#.##..","..#......#..#.........#.....#.#...#..###...#..#.#","...#.#.#.##..#..............c....#.#....#...#..#.","...##..#..#.#..#......####.#...#.....#....#.....#"}

    Returns: 47

  47. {"Ba.b","#.A#","#.Cc"}

    Returns: 4

  48. {"...................#..........#..........",".........................................","..................#......................","........................#................",".......................................#.",".........#......A.....#..................",".........................................",".........................................","..#................................#.....","...............#.........................","...#.....................................","..............................#..........","#........................................","..................#......................","..................c...................#..",".........................................",".....................b#.........#........","......#........C.....................#...",".........................................",".........#......#........................",".........................................","..............................#..........","............#..................#.........",".........................................","....................................a....",".........................................",".........................................",".........................................",".....B...................................","#...................................#....","........................#..#............."}

    Returns: 39

  49. {"#.####........#..a...A......#....#........#.#....",".........#......#...................##...........","...#......#.....##..#.#.............#..#.........","....#..##......#c.....#.....#.#...#......#.......",".............#...........#..#....................","...#.......##....#.....#.....#.#.#...............","..#....##.....#.................##.#.............","...........###.........#.........b.B.#.......#..#",".#.....###.........#.............#...........#..C"}

    Returns: 39

  50. {".......#..#....#...............#..",".....##....#..........#...#.......","..........##.........#.#..##..#..#","........#.#...#..#......#.........",".#.....#.....#.#..#..#.........#..",".#.###.....####.##.......#....#...","..#..#......##...#.........#..#...",".....#....#.....#.....#......#....",".#......#..#..#.....#..........#..",".#......#.#.#.....#......#...#...#",".#.........#.........#.#..........",".#.......#.....#....#..#.........#","..#.#.#...........##.#.....##...#.","#.......#..##...#..##.#.#...#.....",".#...........##.#........#........","...###.##......#.....#...........#","..........#...#.#..#....#...#...##","..#..#.#..#..#.....##.....#.#..##.","...#.#.......##.#...#......#.#.##.","..#....#....#..#...#.......#.....#","#...#.#......#....B...#.#...#.....","..#.............#.....####..#..##.","..#....##..............#.....##...","......#......#......#.......#..C..","...#...##....##............#......",".#.#...........#.................b","..#.#.....#...#...............#..#","......#..#..#............#..#..##.",".........#......#.................","....#....##......###.........#....",".....#.#....#.................#...","......#........#....#.....#..##..#","#.#..#....#...#.#......#..........",".....#...#......##....##.#...#....","..#................#.......#......","......#........#....###.........#.","...#.......#.........#....#..#....",".....................#............","...#....#..#.#..#...#....#.....##.","...####.........#........#..#....#",".##..#......#a........#..#.#......","...#...#...#c.##.....#........#.##",".#...#....#...##.#...#.......#....",".#...#....#.#........#..A..#......",".#.#......##..#....##..##...#..#..","..##........###.#.......#.........",".....#.....##.#.#.#..##........#..","..........#..#....#...#.......#..#","........#...#...#....#..#.#....#.."}

    Returns: 37

  51. {".........#.............",".....C...B#....c.......","...#................b.a","....#..................",".........#..#A........."}

    Returns: 12

  52. {"#........#..#.....#..#..#.#.....","....#....#.....#.#.#.....#...#.#","#........##....#.....#...#......","##......#.......#.#..#......#..#","..#.....#.#.###....#....#...##..","..B..##.....#.#...#.......####..",".....#....#.###..#.#.#..#..#....","#......#..##....#..#.#...#...#.#","......#...###....#......#.###...","##....#.##......###...#.....#...",".##....##.............#..#......","..##.#.#.........##....a.#......",".#..##.#.#......#....##.........","...#..###.##..#..##...##.....#..","..#...#....##...#..#.#.....##.##","...##....#.#.#.#......#.....#...","..#...##.##.....#..#.....#...##.","...#.....#...........#.......#..","..#.#.#.##....#...#..###...#....","#.......#..##......#.......##.#.","#.......#.........#.#.#.....#...",".....#...##.....##.......#...#..","##..............#.#.......##....","......#..#.##......#..##.....#..","#......b##..#.......##..#...#.##",".A..#...#....#..#.#.#..........#","......#...##.......#....#.......","......##...........###........##","#...#.#....##.##..####.....#....","...###...#.##.#..#..#...#.......","..##....##...##.####....#...###.","..#....###.#.#.......#....###...","..#.##.............#...##......#","..#..#..........#.C#........#...","........#.#..#...#......c.......","...####.##....#.#.........##....",".##.#...#.#.#........#....#.....","#..##..........#......#......#..","##......#.#......#..#...........","...#.#...##..#.#.#.#........##.#","..#..#...#.....##.........###..#","#...............##...#..........","....#...#.#..#..#.#.#.....#....#","#.#.#.#........#................"}

    Returns: 46

  53. {"..#.","...#","a#c.",".#..","...#",".#..","C.#.","B..b","#.#.",".#A."}

    Returns: 11

  54. {"..##......#..","...A....#....","......##....#",".#...#.#.....","#....#.#....#","....#....#..#",".##.....#....","#.........###","#......#.....","##....#......","....#.....##.","#...#........","...#.C.##...#",".##..#.....##","#.#......##.#","##..#....#...",".....c....#..","...####....#.","........#....","..#..##....#.","..##.#b####.#",".....#..#...a",".#.....#.B#..",".............","...#.#.#...#."}

    Returns: 39

  55. {".................B................#..............",".............#.......#...........a............#..","......................#..........................",".......................#..Cc......Ab............."}

    Returns: 21

  56. {".#.#....#...","..#...##....","##.##....#..","..#.#....##.",".....#.#.##.",".#.##.#....#",".##..#.#.#.#","#.#.#..##..#",".#..#..##.#.",".#..a.####.#","..#b#..##...",".##..##...#.",".#......#...","###..##....#","B#...#......","..#...##.#.#",".#......#.#.","...#.A..#.##","...c.......#","#.#..#.#..#.","..C#.#..#...","...##.#..###",".#....##...."}

    Returns: 13

  57. {"...#....#...","..#.#.#.#.B.","...c#......#","#.....#..#.#","..a.C#.....#","#.##.#.#.#..","..###.#..#..",".#.....#####",".#.#....#...","..#.....#.#.","#.#.....A...","......#.....","#.#......#..","........#.#.","..#.##.....#",".....##.....",".#.#.#.#...#","#....##...##","#....#.#.##.",".......#..##","....b...#..."}

    Returns: 36

  58. {"....",".c..","C#..","....","...#","....","....","#..B",".#..","bA..","#...",".#..","..a.","....","...."}

    Returns: 5

  59. {"..##.###.#..#....#.#.#..#..#.........","..##...#...#...#........#......##.#..",".##......#..........#...#.....#...#..","##......#.#...#..##....##..##........","#......#.....#...#...#......a.....#..",".##.#...#.....................#...#..","..#.#.##...##......#......##.##..#...",".##.....#..#...#....b.......#...####.","..###....#..#....#.#.#..#......#.##..","....#................#..#.#.......##.",".##.#.#.#...#......#.#.....#........#","....#........#....#.#.....#..........",".#.##.#...#..#...#..#....#....##.....","..#..#.#.#.#.........#.#..#..#.#.#.##","..#...#.#...C#....##.....#...#..##..#","..####........#.#...#.##......#.....#","......##..#..####..#.....#....#......","...................#....#......#.#.#.","..#........#.......#..#....#.#.#.....","##.#............#....##..##.##..##..#",".....#..........##...#...#.....#.....","..#..#....#.#....................#...",".#..............#.#...#..........#.#.","#......##........#....##.........#...","......##.....#.....#.....#..#....#...","...#..........##......#..#.#...#..#..","..#......#.......#......#..##........","....##...#..#.........##.....#....###","..#...#....#......#...#..##.#.....#.#","#..#..#.##.##...#.#..#....A..#.#.....","..#......#...###..###......#....#.#.#",".....##..........##...............#.#","..#...##.#..#........##..............",".##.........#..#..#.##...#..##....#..","....#......#..#.......#...........##.","#..#.#.......##.........#....####.#..","..#....#..###......#....#.##.#...#...","#..#.#..............#...###..#..#....","..............#...............##...B.","...#....#..#........#...c###..##.###.","........#...###..#......#..#......#.."}

    Returns: 48

  60. {"#.....","C.....","A..##.","......",".#....","#.#...","#..#..",".#....","......",".c....",".....#","......","...##B","......","...#..","......","..a...","...b#.","##...#","......","......"}

    Returns: 20

  61. {".##..#..A......","#...#..#....##.","#.......#...#.#",".#b..#.#....##.","#...#.#..#.#...","...#...#...####","...#..#.#..#...","......#..#....#","...#......#.#..","......#......#.","......#..a...#.","..C....#.#.##..","......#..##....","....#.#...##...",".......#.......","#..#....#......","...........#...","....#.#.##.....",".....#.........","..#..##...#.c..",".##.B#.#......#"}

    Returns: 21

  62. {"#B.","aC.","...","...",".A.","...","...","#.c","...",".##","...","..b","..."}

    Returns: 14

  63. {"...#....#...#.................#.##..#..#..#.#.","......#...........B.............#.............","#....................#..#....#..............b.",".#.......#.........C..........#...............","....#...................................#.....","...c...............#..#...#.......##...#......","..#...........................................","....#...........A................#.......#.#..","...........#....#.............#.....#.........",".......#..a........##.........#......#.#.#.#.."}

    Returns: 27

  64. {".......................#................","..a.....................................",".......#........#.......................","........................................","................#.....................#.","........................................",".....#............#...#................#","............#...........c...............","...b....................................","........................................","........................................","........................................","........................................","........................................","B...............................A.......","........................................","........................................","..................C.....................","..........................#.............","..................#.........#..........."}

    Returns: 43

  65. {".##..........##...##.A.#..##......#......","#....#.....#.#..#...#.........#.#..#.##.#","...#.##.#..#.##...####........#.#....###.","...###..#...##.#....##....##.##.....#..#.","...#...#..##..##.....##..#.......#...#...","...#...#.#......#.#..##.......###.#.c.#.#",".##..........####...###..#.##.#...#..#.##","#...#....##....#.##.##.#..#.##.....#...##","..#.......##...#..##..#.#..##....#...##..","..#.#...#.#.............#..####.#.#.##.#.",".#.....#.#a.....#.#.##..#.#..##.#....####","..#.#...#.....##......##.....#....#.#..#.","...#.#..####.#.###...#....##....b#.#...#.","######...#.....#..##......###.##....#....","..#.#.#...#..#..#..............###.##...#",".#..#.....#.###..#.##..........#.........","#.##.#..#.#.###..#...#.#.##........#.#..#","#.#..#....#..##....#....###..#.......###.",".........###..#..#...............#...###.","##..#...#..#..#.##.#.#.#.#....##......#.#","#.....###.#.........###....##.....#....#.","..##....##....#..##..#.#.#......#.#.#.#.#",".#.....#......#.#.#..#.....#.#####...#..#",".#...##......#.......###.#......#....#...","##.#.##..........#....#..#.#........##.#.","##.##C..#..#........#.........##...####..","#.#.##.#..#.......##.#..#..#.......#...##","..#.#...#..##.#..##.#..#..##...#.#......#",".#................#....#................#","..##...#...#.#........#...##.#..##..#..#.",".##.#....##.#.##....##.#............#....","..##.#.####....#..##.##....#..#...##.#.#.","......#.#....##........#.#.##....#.#####.","#..#......#.#......#..#.#..#.....#...#...",".#.#.....##.....#........#.#.#....#....#.","...#....#.#...#...#.#.##..##...#..#.#...#","..##.#..#....#.#..##..#.##.#...#......#.#","#..#....#....#.####.#####.....##...#.....","....##.##..#.....#..###.####.#..#...##.#.","#..###.....#....#.#...##............##.#.","...#..##...#...#....#...#...#...#......##","#.#....#......#.........#.#.##.#.##...#.#","#.......#.#......#...#..###.....#.##..#..","......#.#....#..#..#.#.....#......#..#...","##.#....#..#.....#..###..###..........#.#",".#...#.#.....#.......#..B#...#....#..#..#","##......#.##.#.#.....#.............#.....",".#..#..#...##.###....#..#.....#..###.#...","#.....#.#..#...#....#...##....#...#......","#.#...##.#......#...##..#..##...#..#.##.."}

    Returns: 51

  66. {"...#................","##....#.............",".#.#........#.......",".#..#..#..#..C......","..#.......##...#....","........#...#....#..","........#........#..","..##.............#..",".##......##...##.#..","#......#...####.....","..#........##.#.....","#.........#.........","...#B##.............","......###.#.#....###","..................#.","..#.....#.......##b.",".....#.#...........#",".............##.....",".#.......#..........","...#.#.......#...##.",".............#......",".#..................",".#.#.#...A##......#.","#..#..#a............","...#.##.......#.....","...#..#..###..#.....","#...#.....#..#....#.","......##.#...##.c...","..#.............#...","..#.................",".#..#.#....#...#...."}

    Returns: 29

  67. {"....#.........#............................",".....................#.#...................","........#..................................","...........................................","..B.......#................................","...........................................","..................c........................","...................A.......................","....#......................................","...........................................","...........................#...............","...........................................",".....................................#.....","...#........#..............................","...........................................","...........................................","...........................................","...........................................","...........................................","...............#...........................","...........................................","...........................................","...........................................","...........................................","....................................#......","...........................................","...........................................","...........................................",".............#.............................","..b........................a...............",".......#.....................#.............","...........................................","..........................C................","...........................................","...........................................","...........................................","...........................................","...........................................",".........#.................................","...........................................","...........................................","...........................................","......................#.................#..","...............................#...........","...........................................","...........................................","...................##......................",".......#..................................."}

    Returns: 61

  68. {"..#","..#",".##","..C",".B.","#..","##A","...","#..","..#","#..",".#.","..c","..#","#.a","#.b","#.#"}

    Returns: 16

  69. {".a#.#....#.....#...",".#...#..##.........","......#...b.#.#.#..","...#............#.#","....C.....#..##.##.","...#......#........","...#...............","....#...c....#..#.#","....#..#.....#.....","............#...#..","....##....#.....#..",".....#............#",".#.........#.#.##.#",".......#..#.#.###..","#...###.##.......#.","..#.....#....#...#.","#..#.......##...#.#","....#...#.#..#.....",".........###.#.....","#.#..#.#....#......",".#.##..#...#.......",".#.........#...#...","#..#....##..#......","...#.#.............","...................","#..##.......##..#..",".................#.","#.#.....#.#...#.#..","#.....#.#.....#....","#.#.###...#....#...","#.#...##.#.#B#..A..","...###..#..........","...##..#.#....#.#.#","..#...#.#.......#..","..#...#..#.##...#..",".....###.......#.#.","...........#......#","#...............#..","#...###.#....#..#.."}

    Returns: 47

  70. {".....#.............",".........#....#.#..","...#.............#.",".................##","...................","..#....#...........","...................","................#..",".............#.C...","...................","..........#.......#","#..#.......#.#.....","....#.....#........",".....#.........A...","...............#...","..........#...#....","..#................",".#....#.#.......#..","...#......#........",".....B.............","#.a......#.........","#...#.#............","....bc.#...........","...................","...........#.......","...................",".............#.....","#................#.","....##.............",".......#...........","............#......",".......#...........",".#.........#.......","...................","...#..#............",".....#.........#...","......#..........#.","...#...#.#...#.....","...................",".#..............#..","...................","................#..","...................",".....#.....#.......","...................","...............#...","........#..........","#.............#.#..",".........#...#.....","..#................"}

    Returns: 24

  71. {"................","....#........b..","................","................","................",".........#......","................","................","................","................","......#.........","........#...c...","................","........#......#","................","................","................","................",".............B..","................","................","................","..a.......C.....","..#.............","................","....#...........","................","................",".............#..","................","................","......#..A......","................","........#.......","................"}

    Returns: 17

  72. {"....##...##....#...#............##....#.#..","#..#........#...........#....#.............",".#...........................#.#.....#...##","......#.............#..b.#.C...#.........Ba","........#.....#.#..#.....#.................","..#...................#.##..#....#...#....#","...#.................#....#.......#......##",".#..#.#.......#.#....#......#...#.....#....","..c.##.....#...#...#.....##......#......##.","#.........#...#..#.A.........#........#....",".............##....#.###......#..#..#...##.","..................#..#...#.......##.##...##","#...##......#......#...#....#...#..........","........#..#.....#...................#.....","#.........#..............#................."}

    Returns: 34

  73. {".....##..##","#...###.#..","###........","#...#.b.#..","....#....##","#........##","..#.#######",".#....c###.",".#..#.....#","##.a##...##",".........#.",".#...#....#","...#.##....",".....#C....","..####.....","##.....##.#","..#.....B..","#A..##...##",".....##..#.",".#..#......","##.......##",".....##...#","....#..####","##.#.##..#.","......#..#.","#.#...##...",".#...##...#","......##..#","..##....#..",".####......","#.......#.#","..#.......#","#....#.#...","....#...#.#","##..##.....",".##.......#"}

    Returns: 23

  74. {"......#....####.##","..##..#.A.#..#..b.","...#........#.....","......#.#....#....","#..#.#.....#......","...#..#...##...###","......###...#####.",".....#............","...#.....#..##....","......#.#.#.......",".#.B###...##.....#","........a.....#...",".#.##.#....#..#...","....#...#..#..#...",".......#.#.......#",".....#.#....#.#..#",".#.......#..#...#.",".......#..#...##..",".###...###...#...#","#.....#.C.......#.","..#.#...#.c#.#....",".#...#.....#......","..##...#.........."}

    Returns: 25

  75. {".##....","..##...","....##.","..##...","..#.##.","..B.##.","#.#..#.","#..##.#","#....#.",".#.#...","####..#","#a###.#","..##...",".c..#.#",".A.#..#","...#...",".C...b#",".#..###","####...","#.###..","...#..#","#.#####","..#..##","#..##.#","..#.#..","....#.#","##.#.##",".#.#.#.","##.#...","#..#..#"}

    Returns: 16

  76. {"..#..#...........#.#......#.####..","##..........####..#..#.#.#........","##........###.....C.#.......##....","#...#.#.#.#..........#.#..#.###.#.","#...###.........#......#...#.....#","..##.##..###.#.....#.b....##.#..##",".....##...#..#..#...........#.....","#..#..#...#..####.#..#..#.####....","..#...##..#....#..###..#..#..#B#..","......#..............#....#.##..##","#...#.#.#....##........##.#.....#.",".#................#..#......#..#..",".....#.#.........#..##......#.....","............####....#......##..#..",".##.##.#.#..#...#####..##..#.#....","#.#.#.#..#..#.#.#...#....###......","#........#..##.............#......","#.##...#......#....###.......#..#.","......#..#..##.......#...##...#..#","#......##.#.##.#...#...c..#.###...","..#.#...#..#..##.#..#..##.#.#....#","...#.#..####..#....##....##...#.##",".....#.#.#..##..##..##...a........","..#.##..#.....#...#...#...#...#...","#.#.....#...#.##.###.....#.###..#.","..##....#...#.#.###..#....##.....#",".....#.#.......#.#.........#.#....",".#..###...#...###......#..#..#.#..","#..##.......#........#.#......##..","#.......#.##..#..#####.#.###....#.","#..##...#..#........#.....#.###...","....###.#.###........#..#.#.....#.",".#....#####...##...##..........#..","#..........#..##..#......#.#.#....","...#.##.......#....#.#.#.......##.","......##.#....###.#.......#..#.#..","....#.#.#......#..##.....##....A.#","#..#.#...##........##..##.##....#.","#..##.#.#....##..#.#.#####.#..##..","......#.........##.#.#####.#.#..#.","###.#.#...........##.##.........#.",".#............#..#.#...#...#....##",".#....#.#.....###...#.##...#.###..","####....#..#.##.#.#..#..........#.","....#####....#..#....#...##.#..#.#",".#..##.##..#.......##.#..........."}

    Returns: 22

  77. {"..............................C..",".................................","........b........................","............#....................",".................a...............",".................................","....................B............",".......c.........................",".........#...A...................","................................."}

    Returns: 30

  78. {".#.##.................#..#.....#...##..",".#...#..#.#.###..#...#.....##......#...","..#.#......#....#...#..##.......#...#..",".....###....##...##.#.###.#........##..","#...........#....#.#..#......#.##.#.#..","#.###.........#..#..........#....#...##",".##....#.....##..#.#...............##..","#...##..#.....#.#..#....#...........#..",".#.......#..#.#.#..#.#.#...##..#.#.#...",".#...#...........#..#.........#........","....C#......#...#.....#....##..........",".##.a#..........#.A...#...#.#.....b#...","...#...#.#.....###.#...#.#...#...#..##.",".#....#..##.###........#...#........#..","............#....###..#......#.c.......","...#.......#...#B..........#..#..#.#.#.","..#.......#....##.#...#......#.......#.","....###..............#.#...#.#......#..","...#.#.....#......##....#.............#"}

    Returns: 39

  79. {"#.....a............#....#...........","................................#...",".C....................B.............","##.#.......#................#.......","........c..............A....b......."}

    Returns: 21

  80. {"a..B...A.c.C.b"}

    Returns: 12

  81. {".........................#..............#.......","......a....#..................#.................","...c........................................#...","...................#................##..........","...............C..................#.#...........","#...................................b...........","............#....A.....#........................",".............................#..................","..B..#.........................................."}

    Returns: 37

  82. {".........",".........",".........",".......A.","c........",".........",".........","......b..",".........",".........",".........",".........",".........",".........","..a......","B........",".........",".......C.",".........",".........",".........",".........",".........",".........","........."}

    Returns: 33

  83. {"#.#......#..........","..c.#...............","..............#.....","........#...........","....................",".A...#.....#........","................#...","..#..#......#.......","....................","...B.#.....##......#",".....#.......#....#.","............#.#...#.","...................#",".....#.........#...#",".#.....#..#.........",".#.............#....","...........#.#.#....","#.....#..##.......#.","....#....#..#....#.#","......#.....#.......",".........#..........","...#........#.......","#..............#....","#...#.............##","..............#.....","#.........#.........","##..........#.#....b",".......#.......#.#..",".......#..#.....#...",".....#..............","....................",".......#.......#....","....................",".#...a........C.....","#..............#....","..#....#............","....................","........#..........#","......#..#..........",".................#..",".........#..........","....#...............","......#............#","#...........#....#..","......#.......#..#..",".........#....#.....",".#................##","..#...#.#..#........","...................."}

    Returns: 62

  84. {".#......b.########.#.#..c.######.##.###..#####","#.#.#.#.##.##.##.###.#.#.#.###...#######.##...","#....####....#.####......#.#.#.#.#.C..#AB#.##.","#####.##...###.#..##..####..###.###.#..##.#.#a"}

    Returns: -1

  85. {".##..#.#.#.....##...##..c#.....##bB..C.A..a#"}

    Returns: -1

  86. {"#C#","###","...","#..","#.#","###","#..","##.","#..","#.#","#..","c##","##.",".#.","..#","...","..#",".#.","##.","##.","#.#","#..","#..",".B.","###","###","A##","..#",".b#","###","#..","..#",".a.","#..","###","#.."}

    Returns: -1

  87. {"####.#.##.#B#.#####","#..###.#######.####","###c#..####.##.#..#",".########.##.###..#","C########.###.##..#",".#Aa#.#####.##..###","###..#..#.#########","#..#b##########.###"}

    Returns: -1

  88. {".#####","#.####","##.##.",".#.###","#.###.","##.###","#.##..","###.##",".#####","..a###","#.####","#.#..#","......",".####.","##.###",".#..#.",".#.###","###.##","######","###C##","#.####","#####.","##A###","#.#..#",".###.#",".##.##","######","##..c#","####.#","#.#..#",".#####",".#####","#.#..#",".##..#","##..##","#####.","...##.","#####.","#####.",".B###.","b###.#","..##.#","######","######","######","...#.#","###.##",".#####"}

    Returns: -1

  89. {".B...#.##..##..####.##.#.....####...C","#.#..#.#.#..##....c.#.....#....####b#","..##.##...#.##...##....#.#..#......##","#.#.#A.##.....##..##.##.#.a.........."}

    Returns: -1

  90. {"#.########.#####.#..c.########.#.######.....#...","....###..#...#...##.#...#.#####.##.##.#B#..###..",".#######.#.#......###.##.b.#.#.##..#..#.#...##.#","##.##C#..##.#..#..##..##.#..######...#....A##...","###..#a...#....#..###.#.......#.....#..#.###.###"}

    Returns: -1

  91. {".#C..#...##.##..##.###.b#...###","cA#..a#..#.###.#.#.#..#....B.##"}

    Returns: -1

  92. {"##.##C","##....","..B#.#","..#b#.",".####.",".#..##","..#.a#",".#.###",".#.#..","#.#.#.","#####.","###..A","#..c..",".#....","....#."}

    Returns: -1

  93. {"##.###########.#########","######C######.##.#######","#####.###.###.#.##.#####","########################","########.##############.","###..########.##########","#.##.#######.########.##","#################.######","#######################.","#######.################","##.#.###############.###",".###.###################","###########.########.###","####.####.#####.##.####.","#####.##################",".##########.##.#########","######.###.#############","#####c####.######.#####.","####B#.##.#.##a########.","###.################.#.#","#.#.###########.########","############.####.######","#######.####.##########.","###.####################","#######.##########..####","###############.##.#####","#.####.######.##########","################.#######","###################b####","#.#######.#######.######","###########A######..####","####.#.#####.###########","#.######################","########################","###############.########","########################","#.##################..##","########################","###################.####","###################.####","##########..############","##.#####################","#.###############.######","###############.########"}

    Returns: -1

  94. {"C..................b...........................", ".#############################################.", ".#...#...#...#...#.B.#...#...#...#...#...#...#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "A#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#a", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "...#...#...#...#...#...#...#...#...#.c.#...#..." }

    Returns: 400

  95. {"##################################################", "...............................................Abc", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "..................................................", "#################################################.", "..................................................", ".#################################################", "...............................................CBa", "#################################################." }

    Returns: 2440

  96. {"..#..#..#...#..#..#..#..#..#..#.#..", ".#..#..#...#..#..#..#..#..#...#.#..", "#..#..#...#..#..#..#..#..#..#.#....", ".....#......#..#..#..#..#..#..#.#..", "..#..#..#...#..#..#..#..#.B#..#.#..", ".#..#..#...#..#..#..#..#.C#...#.#..", "#..#..#...#..#..#..#..#..#..#.#....", ".....#......#..#..#..#..#..#..#.#..", "..#..#..#...#..#..#..#..#..#..#.#..", ".#a.#..#...#..#..#..#..#..#...#.#..", "#..#..#...#..#..#..#..#..#..#.#....", ".....#......#..#..#..#..#..#..#.#..", "..#..#..#...#..#..#..#..#..#..#.#..", ".#..#..#...#..#..#..#..#..#...#.#..", "#..#..#...#..#..#..#..#..#..#.#....", ".....#......#..#..#..#..#..#..#.#..", "..#..#..#...#..#..#..#..#..#..#.#..", ".#..#..#...#..#..#..#..#..#...#.#..", "#..#..#...#..#..#..#..#..#..#.#....", ".....#......#..#..#..#..#..#..#.#..", "..#..#..#...#..#..#..#..#..#..#.#..", ".#..#..#...#..#..#..#..#..#...#.#..", "#..#..#...#..#..#..#..#..#..#.#....", ".....#......#..#..#..#..#..#..#.#..", "..#..#..#...#..#..#..#..#..#..#.#..", ".#..#..#...#..#..#..#..#..#...#.#..", "#..#..#...#..#..#..#..#..#..#.#....", ".....#......#..#..#..#..#..#..#.#..", "..#..#..#...#..#..#..#..#..#..#.#..", ".#..#..#...#..#..#..#..#..#...#.#..", "#..#..#...#..#..#..#..#..#..#.#....", ".....#......#..#..#..#..#..#..#.#..", "..#..#..#...#..#..#..#..#..#..#.#..", ".#..#..#...#..#..#..#..#..#...#.#..", "#c.#..#...#..#..#..#..#..#..#.#....", "...b.#......#..#..#..#..#..#..#.#..", "..#..#..#...#..#..#..#A.#..#..#.#..", ".#..#..#...#..#..#..#..#..#...#.#..", "#..#..#...#..#..#..#..#..#..#.#....", ".....#......#..#..#..#..#..#..#.#.." }

    Returns: 113


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: