Problem Statement
NOTE: This problem contains images that may not be displayed properly if viewed outside the contest applet.
You will be given the layout of a rectangular room as a
The source will illuminate any point on the floor in an empty square if a straight line from to that point from the light source does not intersect any post. All other points in empty squares are in shadow. Given room, compute the area of the floor (in square meters) that is in shadow.
For example, consider the following room layout:
{ ".*#...", "......", ".#...#", ".....#", ".....#" }
The post below the light casts a shadow of 5.0 square meters, and the shadow cast by the post to the right of the light has an area of 8.5 square meters, as shown in the figure below. Therefore, 13.5 is the correct answer.

Definition
- Class:
- ShadowArea
- Method:
- area
- Parameters:
- String[]
- Returns:
- double
- Method signature:
- double area(String[] room)
- (be sure your method is public)
Notes
- The returned value must be accurate to within a relative or absolute value of 1e-9.
Constraints
- room will contain between 1 and 50 elements, inclusive.
- Each element of room will have the same length, between 1 and 50, inclusive.
- room will contain only the characters '#', '.' (period), and '*'.
- Exactly one characer in room will be a '*'.
Examples
{ ".*#...", "......", ".#...#", ".....#", ".....#" }
Returns: 13.5
This is the example from the problem statement.
{ "..............................", "..............................", "..........#...................", ".........#*#..................", "..........#...................", "..............................", "..............................", "..............................", "..............................", ".............................." }
Returns: 295.0
A 30x10 room with every square in shadow, exept for the 4 squares with posts and the 1 square with the light.
{ ".#....*", "##.....", "#......" }
Returns: 1.166666666666666
{ "..........", "..........", "..........", "###..#####", "..........", "*........." }
Returns: 29.27777777777778
{ "...........", "...........", "......#....", "........#..", "..........#", "..........*" }
Returns: 25.43333333333333
{ "*" }
Returns: 0.0
{ "*.................................................", "................................................#." }
Returns: 0.9948453608247689
{ "*................................................#", ".................................................." }
Returns: 0.00515463917525949
{ "..", "..", "#.", "..", "..", "..", "..", "..", ".#", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "*." }
Returns: 9.662844928099489
{ ".......", ".#####.", ".#...#.", ".#.*.#.", ".#...#.", ".#####.", "......." }
Returns: 24.0
{ "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................*................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................#.................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................." }
Returns: 47.8215130023641
{ "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........................................#......", "..................................................", ".............#....................................", "..................................................", ".......................#..........................", "..........#.......................................", "..................................................", "..................................................", "..................................................", ".......#..........................................", ".............................................#....", "..................................................", "..................................................", "..................................................", ".....#............................................", "....................*..........................#..", "..................................................", "..................................................", "..................................................", ".........#........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............#...................................", ".............................................#....", "..................................................", "..................................................", "..................................................", ".....................#............................", "..................................................", "..........................................#.......", "................................#.................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................." }
Returns: 232.03796899200506
{ ".............", ".........#...", ".............", "....#........", "........#####", "......#......", "..#...#...*..", "......#......" }
Returns: 73.13333333333333
{"..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#*#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "..................................................", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#"}
Returns: 1821.633787742454
{".........*", "..........", "..........", "..........", "..........", "..........", "...#......", "..........", "..........", ".........."}
Returns: 7.384615384615387
{ "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "#########*##################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################", "############################################" }
Returns: 0.0
{".#..#.####.#..#.###.##...####.#..####.##..#.###.##", "###.#.#..#########.####.#...###..##.##.####..##.#.", "##.####.###....######.##..#.###.###..###.###..####", "#.###..###.##.#####.#.#.##.##.#.###.####..#.#.##.#", "..#.####.##..#.#..####.####.#.##....#.####.###.##.", ".####...#####..###.###....#.#.##..#.####.##.#.#..#", "..#..####.#..#.#..#..##.#.#.##.###.######.###.###.", "..##.#..######.##.#..##.#.##....#####..##..#####.#", "###..###..#.##.##.######.#####.##.#.#..##.##..#.##", "#.###..##...#..##.##...###.#.####..#.##..##.#####.", "...########..#####.#..#...#.#..#.#.###.####.......", "###.#..#..##.##.###.##...####..#.#####.#.#..##.#.#", ".####..#.###.###..#.###.##....#######.##.###.###.#", "##.###.###..#.###.##..#.#####.####..###..##.#.#.##", "#.#..##..##.##########.########....###.#####..####", ".####.###.#..#..####.#####..###..###.##..###..#.#.", ".#...###..##.###.#.#.##..####..#.##.###..######.##", "##.#...#########...#.######.###..#############...#", "..##..#.##..#.##.....#..#.##.##....##....#..##.##.", ".#.####.#..#######.#.#..##.##..###.###.##.....#..#", "#....#...#.###...#.###.####.##..##.####.#######...", ".#..#.###..##.###.#...#.##.###.###...##.###.###...", "#####.#...#..#.#.#####...######.##.##...######..##", "#..#.#...#..##.##.##..#..##..#.##..###.#......#...", "##.#.##...##..###.#.###.###..##.###..#.###..#.####", "#...##.......#.#.##.#...#..###..######...##.##.#..", "###.#.##.##.##..###.......###...##.####..#.####.##", "###..##.#.#.###########.#.##..##.##.##.#.#.###.#.#", "...#.#...###.##.###.##..######.#..#...#.#...##.#..", "##.#######..#.#..##..##.##..##..#.#.##.######.###.", "###...##.######...###.#.###...####.#.#.####.#...##", "#..#..##..#..#.#####.##.#*#.##..#.#.#.#.#####.###.", "##.#.###..#.#...#..#.#.#.#......#.#..##.##.#...##.", "#..####.#.##.###.#.###..#...##...#.##.#.###..#.##.", ".#..#.#..#..#.##.###.##..######.#.##.###.#.###..##", "#.##.#......###..###.#..#..#####...#.###.#.#.#.#..", "######.#..##...#..#.#.##...####..#######...#.#####", "###.##.#.#.##....##...#.#..#.#..#########.#####.##", "####.########..#.#.#...##.##..#.#.##...#.#####..##", "...#.#.##...#.#..##.##.########..##...##....####..", ".....##.#...###.##..#####..#.#..##....#.##..#.#.#.", "###.#######.###.#####.##..#....#######.#..##..####", "###.##..#.#.##..#.###.#.##....###.####.#...#.#..#.", "#####..#.#.#..#######.#####.....##....#.####.....#", "...######.##.###.##.#.###.###.#.#..######...###..#", "##.#.#####.##.#...######..#.##..#.###.#....#.#..##", ".####.######..##.#.####.##.####..##..#.##....#...#", ".....#.##.##...###.####.#.#..#...#.#####..#...##.#", "######.###.#.###..###..#.##...####....#####..#.###", "##.#.#.#.########...#.##...#...######.#..#.######."}
Returns: 1022.0
{"#.##...##.#..###.#...#..##..#.###.####....#.###..#", "....#..#..#.##..#####...####.#.##.##.##..##.#####.", "##.##..#..#...###...##.#..#..###.####..###...#####", "#....#...##..###.#..#.#.###...#.########....#####.", "....#.###.#.##..#.#####.#..##.####..###....###...#", "#.#.##....##.#.#.......##.##.#.#.#..##...#.#.#.#..", "#######...#..#....#....#..#.##..####...##.###...##", "#.#..#.###..#....##..#.####.##...###.#.##.#....##.", ".#...##..#....#.#..##.##.##.#..##.#.#.##.#.#..#.##", "#..#......#..#.#..###....##.##....#..#.##....#....", "#..#.#....#.##.#.#####..##.....#....####.#.#.#####", "#########.##...#.##...#.####.##.....###########.##", "..##....#..#####...#.#.#.#.##..####....#..##.#.#..", ".##..#..##.#.###.#.##.#.#.#..#.##..#..##....#..#..", "..#..#####.....####....#.#....#.#.#.#.##.#..###..#", "...##.#..#..##.#.#####.#.##..##..####.#...##.#..#.", ".##.#.#.#...##.#.#.#.#..###.#.##..#.#.##.#.##..###", "##.###...###..#..#.#.###.#.#.##.##.###.#....#.#.##", "##..######......###..##..##...##.##...#######.#..#", ".#.##..###..#..####.#.#.####.########..###.####.##", ".##.....#.#...####..#.####..#.#.....#.#.##.#......", "######..#.#..#.#.###.###..###.#....####.##....###.", "#...#....#.#.#..#.#..#....#.....#.#...#...#....#.#", "...##.###.##..#..#.#.##.##..#...#.#.###.###.#..##.", "#.#######..#.#....#.##########.##.####..###..#....", ".#..#....##.##.####...#.#.##..#....#####.###.#.##.", "##.#...#..#.......#..##..##.#####...#..##...######", "#....#.#....##.##...###.#.#.#....#..##.#.##...###.", "....#####.#..#####.#######.####.....####.##.#.####", "##.###..#.#..#.#....##..##.#...###..###..##.#.##..", "######.#..##.###.#...#..#.###...##.#...#.#........", "....##....#.#.####..##.#....#.#.#.#..######......#", "#.##..#..#.##.###...##.####..###.##.##.########...", "###.#.######.##...#..##..#.##..##..#....#....#.##.", "#.#...##..#.......#####.#..#.#....#####..#..#...##", "..#...#####..#....#...##...#.......#.##.#.######.#", "##..####.##.###..##..#......###.##.##.#.#..##.#.##", ".##.####....#.#####..##.#......#####.#.#..###...#.", "..####..#.##.###.##.#..##.#....##..####.##.#...##.", "..##...#.#....#.####.##...###....###.#..#.###..#..", "..#..##.#.########.######...###.#..##..#.###....##", ".###.##..##.###.##.#.####...#.#####.##.##...#..###", "###.#.##..#....#.#.#.####.##..##...#.##..##.####.#", "##......###...######.#.#.#.##.#..#.#....#.#.......", "####.##.#.##...##.#..######.#.#.###..#.....#####.#", "...######.#####*..####...###..#...#..#..######.#.#", "......###.##.#.####.###..#.###...##..#.#.##.####.#", "....#...##..##...#.##.#..####.##.##.#.#.#.###.#..#", "#####..#..#.#.##.#.#.#####.............#..##....#.", ".#.##..#...#.######....#.##...###.#####.##.##..#.#"}
Returns: 1205.8333333333333
{".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#*#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#."}
Returns: 1249.0
{ ".......#..", "#...##....", "..*.......", ".......#..", ".....#.#..", "..........", "..#.#.#...", "#.........", ".#........", ".........." }
Returns: 43.103896103896105
{ "....#....#", ".*........", ".........#", "..........", "..#..##.#.", "..#.#.....", "..#.......", "#......#..", ".....#....", "..##.#...." }
Returns: 38.3942057942058
{ "....#......#........", "...................#", "..#....#....#.#...#.", "......#.#...#.......", "......#.#......#....", ".#..#...............", "................#...", "..........#.........", ".......##.....##....", "..............#.....", "...#.......#.......#", "*...##..............", "..........#..#......", ".....##.............", ".......#............", "...........#..#..#..", "....##..#...#...#...", "....#....##......#..", "...#................", "......#...#.......##" }
Returns: 236.4488957550877
{ ".##..#..#...##.#....", "...#.........#.####.", "#..#..#...##...#.#..", "#.#....#..##...#...#", "..##........#.##....", "#.........#.#.......", ".....#...........##.", "#...##..#.....#.#..#", "....#...##....##..#.", "#.#.#....##.#....#.#", "###..#.#..####.##...", ".#...........#...#..", "#.#....#.......##..#", ".#.##..#.#......##.#", ".##..........#....#.", "..#...#.....#...*...", "..#........#...##..#", "....#.....###.##...#", "...#..#.#.#..#......", "...#..........#.#..." }
Returns: 260.5165266106443
{ "#.............................", "..#...........................", "..............................", ".....#........................", "....#....#.......#............", ".........#....................", "..............................", ".....................#.....#..", ".............................#", "......#.....................#.", ".........#......#.............", "..............................", "...#..#.#.......#...........*.", "......#...#...................", ".................#.........#..", "..............................", "..................#....#......", ".#............................", "....................#.........", ".............#................", "..............................", ".............#................", "..............................", ".....#........................", "..#...........................", ".....#..#.....................", "..#.........#.................", "..............................", "...#..............#...........", ".............................." }
Returns: 486.002967471171
{ "..#.#....#...............#....", ".#.#..........................", "............##..............#.", ".#....#.............#.......#.", "..............#.............#.", ".#....#..#....#...#..#........", "......#.......#....#..........", "#.......#..#..................", "......#....#...........##.....", "...#.....................#....", "..........#...................", "..............#..#.....#.#..#.", "......#...............*.......", ".......#.#......#..##.....#...", ".........................#....", "....#.....#......#.......#....", "............#....#........#...", "...............#..............", "...#............#.......#.....", ".....#...................##..#", "....#...#.....................", "..............................", "...........#...............#..", "...........#..................", "....#.........................", "....###........#..............", "......................#.......", "........................#....#", "..............................", "...#......#..................." }
Returns: 543.3264285802532
{ "......##......#.....#..#..#...", "......#...#............#....#.", "..###....#.#.#.###....#.......", "#........#.#...#..##....#..#..", "#..#.#.##.#..#..#.........#...", "..............#...........#...", "........#..#####..##.....#.##.", ".#...##...#....##...##........", "#....#.#......###....###......", "...#....#..##....##...#.......", "........#.....................", ".#..#...#.#..##..##..#.#.#....", ".#...#...#######..............", ".........#..#...#...#.........", "....##..#.#..####..#.....##...", "#.#......#.#.#.#.....##..#..#.", "..#................##......#..", "##....#.....##..###....#..##..", "..#..#..##....###.#...........", "#.#.####...#....#.....###..#..", "#.##.#..#..#.##..#..#.....#.##", "........##...##....#.#.#..#...", "..#..#.......##..#.##......##.", "#.........#........##....*.#..", "...#..##.##....##...........#.", "##.....#............#.#..#....", ".....#..##....###.#..#...#....", ".#........##..##.#.#..#.....#.", ".....#..#....#....#......#....", ".#...........#..........#....." }
Returns: 608.2202412708889
{ ".#........#.............................", "........................................", "...................#.....#........#.....", "........................................", "........................................", ".......................#................", "........................................", "...............#........................", "........................................", "........................................", "........................................", "........................................", "#........................#..............", "....................#...................", "........................................", "........................................", "........................................", "........................................", "...........#............................", "........................................", "........................................", "...#....................................", "........................................", "........................................", "........................................", ".............#..........................", "........................................", "....#...................................", "........................................", "................................#.......", "........................................", "........................................", "..............#.........................", "........................................", "........................................", "................#.......................", "........................................", "..*.....................................", "............................#...........", "..#....................................." }
Returns: 451.90178776878656
{ "..........#...................#..#......", "............#.........#.................", "........*.#..#..........................", ".................#......................", "........................................", "......#........................#.......#", ".#.....................#.....#..........", "........................................", ".......................................#", "...........................#............", "...................#....................", ".............................#..........", "......#..........................#....#.", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "................................#.......", "........................#...............", ".....................................#..", "...#...........#........................", "........................................", "...........#............................", "....................#...................", "........................................", ".......#................................", ".....................................#.#", ".........#...........#..................", ".........#..............................", "........................................", "..........................#.............", "..............#.........................", "........................................", "..................................#.....", "........................................", ".....................#..................", ".............#..........................", "........................................" }
Returns: 659.5853547545345
{ ".#.......#.....................##.......", ".....#.....#..#......................#..", "..........#.#....................#......", "...#..........#.....#..............#....", ".........#..............................", ".............#..........................", "........................................", "..............................#.#.......", "................................#.......", "......#.................................", "......*.....#.......#...........#.......", "........................................", "..............#.........................", "...#..................##................", "..........#......#......................", ".........#......#.#.....................", "...............#........................", "...........#........#........#..........", "##....#.....#........................##.", ".............#......##.......#......#...", ".............#.............#....#.......", "#.......................................", "........................................", "................#.......................", ".............#..........................", ".............................#..........", "........................................", "...............#..............#.........", "...#...................#................", "................#.........##............", ".......#.#..............................", ".............#.......#.....#............", "........#...............................", "...#................................#...", "..#.......#.................#...........", ".........................#..........#...", "..#.......#...........#.#..#..........#.", ".............................#..........", "........#.............#....#............", "........................................" }
Returns: 1000.8274140683238
{ "........#.....#......................#..", "..........#..........##...........#.....", "...........#...#.................#......", "......#.....#....................#......", "........##.........................#....", "..#.......##................#...........", ".....#...........#....#............#....", "........................................", "...................#.......#............", "..#...............#..#.#.##......##.#...", "....##........#..................##....#", ".....#..#.........#..#.............#.#..", ".........##............#........#.#.....", ".......#.##.............##...#..........", ".#.........#.............#.#.....#......", "......#...........#........#..#.........", "...#.#...............#...........#......", "....#.............................#....#", ".#.................................#.#..", "......#..#..............#........#......", ".....#............##....................", "...........##..........#................", ".........#.....##...##...........#....#.", "..............#........#........#.......", "..#...#.....#...................#..#..#.", ".................#.................#....", "...#........#..................#.......#", ".........#..............................", "....##....#........#....##......#.......", "......#............#.....#........#.....", "................................#...*...", "............##.......................#..", ".........#..#.........#........#......#.", ".....#..................#.#......#.....#", "...#.............#.........#.......###..", ".....#....................#....#........", ".......##.....#.....................#...", "......#..................#.............#", "#.............#.......#.......#.....#...", ".#.................#...............#..##" }
Returns: 1292.2716721721895
{ ".#.......#.#...#.#.#....................", ".......#..#.......#.#..........##.......", "........#...#..#.......#.#..##..#.....#.", "..#.........#.........#.#...#...........", "...................#...#....#....#..#...", ".........#.....#.....#.......#..........", "#....#...#..#..#..#...#..#...........#..", "....................#.....#.#....#.....#", "..#..#...........##........#.#..#.......", "..................#......#......###..#..", "..##....#.........#.................#...", "...#...............#...##.....#.....#.#.", "#...............#.#...#................#", "#.#...#...#...#......#.........#........", "#..#.....................##.#..#....#...", ".#..........#..#.........#..............", ".....#.#....#.....#.....#..#.....#.#....", ".......#..........##........#.......#...", ".#....#..#....#....................#..#.", ".....#...........#......................", "..##.#......#..##..#..............#...#.", ".#......#....##....................#....", "#....#........#..##.........#...........", ".....#................#.#.#.............", ".....#....#...#.#.............#.........", "......#.................#...........#...", ".....#....###...#......................#", "..#.#.#......###....#....##...##........", ".........#...#..#.#..#.....#..#.........", "....#..#.#.....#...#...#................", ".........#..#..............#......#.#.##", "..#........#.........#.........#....#.#.", "...#...#.....#....#.......##*###.....#..", "..........#........#..##....#.#.........", "......#...#..........#.#..#.#....#.#....", "#..#...#............#....##......#.#....", "..#....#...#...#..#...#....#.........###", "...#....#....#.......#.........#........", ".#..#.....###........#.##.....##..#.....", "...##..#.......#......##................" }
Returns: 1278.6770200841934
{ "....#......#......#...#......#.........#", "...........#.#........#..#....#.......##", ".#..#.#........#.....#.....#.........#..", "..#.#.#..#.........#.......#..###.....#.", ".#.....#.....#....#.........#...#.......", "....#..#............#...#..#..#.......#.", ".###...##..##.....#.......#......##.....", "..#.....##..........#.........##..#..#..", "..#....#.#.....#...##..........##.#.....", "...#..#.#.#....#......#...........##...#", ".#.....#...#........#...#.....#......#.#", "....###.......#.........#....#......#...", "...##..#...##..#.......#.#..#......#....", ".....#...#...#....#........#.......##...", "##...........##.#...........#....##.#.#.", "....#.........#.#.#.#........#..###....#", ".#.#........#......#.......#.....#.#...#", ".......#.....#.#...........#............", ".#........#....#.#..........#.##....#...", "#...#..#.#.##.#...#....#.#.#..........#.", "................#..##..#.#.....#...####.", ".#....#...#.........................#..#", ".#....#............#.#.#...#......#..###", ".#.#..................#.................", ".#...#..#...#...#.#.#..##...##.....#####", "..#..#.........#..##.#.......#...#......", ".##...#.#..#.#.#.....#.....#...........#", "....#......#...#.###..##.........#....#.", "...#......#.#.#..#...#............#.....", "#.#..............#.#........#........#..", "..#........#..#......#...#..............", "....#.#.....#.....................##..#.", "........#.......#.............#.....#.##", ".....#..##............#...............#.", "#.......#.......#....................#..", "#.*........#.....#......#.....#...#...#.", "#..............##..#...#.#.............#", "....#.....####.#..............##.......#", "......#...#.#...#.....#...#.#...........", "#..#..#....#....#...#..#.........#......" }
Returns: 1209.247998151323
{ ".#.#...#..##..#######.#.###.###.##......", ".#.#####..#.#.#.#..#..###.*..##....##.#.", ".#..#..#....##.#.#.#.#.#...##.#...##.#.#", "###.###.####..##.#..#.#...##...#####....", "##.#.#.#.#.#........##.#.####..##.###.##", "###.##.#...##...#.##...#.###.####.##.#..", "#####..##.....###.#..#....#.#.###.#.#.#.", "#...##.#.####...###...#.######.....##...", "..#...####....#.###.#.#........#........", "..##.#.##.#..#...#.####...#..####.#...##", "#...#.##..##.#.##...##.###..##.#...#.#..", "#...#.#.#.###.##....###.##..##.#..##..##", "#....#.#..##..##.#..#..#.##......#.##.#.", "..##..#.####.##..##.##...###.###.######.", "#.#.####.#.###.#.##.##....#...#.#..##...", "#.####.##.##..###.#..#.....##..#.######.", "...####.##..#.###.#..##.##......##.#....", "##..####..#.#.#.#.##....###..##.#..###..", ".#.#.#.#..#.##.#.##.#.##.#.####.....#..#", ".###.#.#.#.###.##.####..####...#...#...#", "##..####.#.####..###.#....#.#.##...#....", "###....#..#..###....###..#......#....#..", ".......#..#..###.#......##..#..##..##...", "##.#.#########..#..#.#.......##...####..", ".####.#.##....#.#####.#.....##.##...###.", "#..##...#..#.#....#.#..#..#.#.#.#..##.##", "#.#.#..#####..###..#.##..###..#...#..###", ".#.....#.#...###.##.....##..#..#.###.###", "....#.###......#.......##...#..##...####", ".#####..#..##...###.##..#.#..#.##.######", "#.###...##...##.##......####..##.##.#.##", "#..##.#..##...#.######.##...#.#.#.#####.", "##.#...#...###.######.#.......####.#.#..", "##....#..##..##..#..#.......#.#.#.##.#.#", ".##.#.#..###.##.##...#.#####.......#.#..", ".#.##...#.##.....###.##.###.##...####.#.", "#..####...#...#.#.###..#.#.#...##..#.#..", "#.....#.#.#.#.####....#..#.#...###.##..#", "##..##.##....#####.##..#...##...#.#.####", "###.####..#.#...####.#..###.####....####" }
Returns: 803.3
{ ".............#....................................", "...#......................#.......................", ".........#...............................#........", "..................................................", "..................................................", "......#...........................................", "..................................................", "...........................................#......", "..................................#...........#...", ".....................#............................", "..................................................", "............................................#.....", "..................................................", "..................................................", "................................#......#..........", "...........................................#......", ".............................#...#................", "..................................................", "..................................................", "..................................................", ".............#....................................", "..................................................", "....................#...............#.............", "...............................#..................", ".....#............................................", "......................#.....................#.....", "..................................................", "....#.#.............#......#......................", "............................................#.....", "..................................................", "..................................................", "........................#.........................", "..................................................", "..................................................", "..................................................", "............#.......#...*.....................#...", "............#.....................................", "..#...#......................#.....#..............", "..#...............................................", "..................................................", ".........................................#........", "................................#.................", "#..............#............................#.....", "..................................................", "......................#...........................", "............................................#.#...", ".........#........................................", "......................#...........................", "............#.................................#...", ".................................................." }
Returns: 1086.467564810995
{ "........................................#.........", "..........#....................................#..", "..................................................", ".......................................#..........", "..................................................", "..................*...............................", "..................................................", "..................................................", ".............#.................#..................", "....................#.............................", "..#..............#..........#.....................", ".......................................#..........", "..................................................", "........................#.........................", ".....#.................................#..........", "..................................................", "..................................................", ".................................#................", "....................#......................#......", "#......#........#....................#............", "....#...............#.............................", ".......#.#........................................", "..................................................", "..................................................", ".........#........................................", "............................#.....................", ".........................#....#...................", "...................#..............................", "..................................................", ".................................#.#..............", ".....#............................................", "....................#..........#..................", "......................#........#......#.......#...", "..................................................", "..................................................", "...........#...............#......................", ".#................................................", "...............................#..................", "#.................................................", "..............................#...#...............", "..................................................", "..................................................", "...................................#..............", ".................................##...............", "..................................................", "...............................#..................", ".#................................................", ".................................#................", ".............#...............##...................", "...#.............................................." }
Returns: 1293.4540484870654
{ ".........................###......................", "...........................#......................", ".........#........................##..............", "..................................................", "........#..............#.........#................", ".............................................#....", "....#.............................................", "....#.......#........#............................", ".........................................#........", "#..............................#..................", "........#.................................#.......", "..........#........................#.........#.#..", "............................#.....................", "............................................#.....", "..................................#........#......", "..................................................", "#........................................#........", ".........................#....#.........#.........", ".#.................................#..............", ".....................#......................#.....", "..................................................", ".........#....................#...................", "........................................#.........", "..................................#....#..........", ".......................................#..........", ".#...............#....................#........#..", ".................................#................", "....#...................#.........................", ".......................................#..........", "..............................#...................", "..........#.......................................", "...#..............................................", ".....................#....#....#.#............#...", "..............................................#...", ".............................#....................", "..................................................", "......................................*...........", "..............#..............................#....", "..................#...............#...............", "..................................................", ".......#..........................................", "................................#.....#.......#...", "..................................................", "....#.........................................#..#", "..........#..............#........................", "...................#...................#..........", "#..........#..............#................#......", "..................................................", ".......................#..........................", "...............................................#.." }
Returns: 1367.3917807674648
{ ".......#........#.................................", ".........................................#........", "..................................................", ".................#.....#..............#...........", "..................................................", "...#.........................#....................", "..................................................", "...........#.......#..............................", "..................................................", "............#.....................................", "................##...........#....................", "......#........................................#..", ".......................................#..........", "..................................#...............", "................#.....................#...........", "#.................................................", "..................................................", "...........#......................................", "...................#.................#............", "..................................................", "..................................................", "......................#...........................", "..................................................", "..................................................", "..................#......#........................", "..................................................", "........................#....#....................", ".........#.............#..........................", "..................................................", "..................................................", "..................................#......#....#...", "......#........................................#..", "..................................................", "..................................................", "..................................................", "..................................................", "...................#........#.....................", ".............................#.....#..............", "......#..*..................#.#.............#.....", "........................#..........#..............", "..#.....................#.........................", "..................................#.#.............", "....#.........##..................................", "...#.#............................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................#.............................", "......#...#..................#...................." }
Returns: 1047.4813917710135
{ ".....#............................#........#......", "..................................................", "#.....................#...........................", "..................................................", "...............................#..................", "...............#..................................", ".........#.............................#..........", "............................................#.....", ".............#...............#....................", "..................................................", ".......................#........#.................", "...#..............................................", "...............................*...............#..", "..................................................", "............................................#.....", ".............#.#...................#..............", "..................................................", "..................................................", "...........#......................................", "#....#............................................", "......#...........................................", "..................................................", ".....................................#............", "..................................................", "..................................................", "...#....#...................#.....................", "..#..............................................#", ".......#.....#....................................", "........#.........................................", ".....#..#.........................................", "..................................................", "..................................................", "..................................................", "......#...........................................", "..................................................", "..................................................", "#.................................................", "........#...#...#.......#.........................", "...........................#......................", "..................................................", "..................................................", "..#........................#..#.....##............", "..................................................", "..................................................", "................#...............#.......#...##....", "........................#.........................", "...............................#.........#........", "#.........................................#.......", "...................#............#...........#.....", "...#.....#......................#.............#..." }
Returns: 747.6024139412198
{ "...#..............................................", "......................#.........................#.", "..................................................", "..................................................", "....#...........................#.................", "...............................#................#.", "............................................#.....", ".......................#..........................", ".................................#................", "............................#.....................", "..................................................", "..................................................", "........................#.........................", "....#.............#...............................", "....................................#.............", "..................................................", "..................................................", "........................................#.#.......", ".....................#............................", "..................................................", "..........#.................................#.....", "..................................................", "...........................#........#.............", "...............#.................................#", "..............................................#...", "................#......................#..........", "..................................................", "........#..............................#........#.", "...#..............................................", "....#.............................................", "#.................................................", "...............#..................................", ".......#..........................................", "..................................................", "........#.........................................", "..#....#.............................#............", "..................................................", ".....#.......#......#.#...##............#.........", "...............................................#..", "....#..........................#.............#....", "...............................................#..", "..................................................", "..................................................", "..................................#...............", "..................................................", ".....................................#............", "..................#.........#......#..............", ".#.........#..#.............*.....#...............", "..................................................", "........#...................#....................." }
Returns: 2004.918862148973
{ "..........#....#..................................", "................#.................................", ".....#........#.....................#.............", "....#.#...................................#.#.....", ".....................#........#...................", "..................................................", "......................#..........#................", "..........................................#.......", ".................#................................", "..................##.#............................", "....#.............#........................#......", ".....#...#....#...................................", ".........................#......................#.", "...................#.....#....#.....##.......#....", "..............#....#...#..#.......................", "#...............................#.................", "........................#..............#..........", "..#...#....................................##...#.", "#...........................##...............#....", ".......................#..#.......................", "............#..................................#..", "*................#......#........#...#............", ".......................................#..........", "..................................................", ".................#..........#.....#.......#.......", "....#.#...#.......#...................#..#........", "..........#..#............##......................", "..................................................", "...#.....................#....................#...", ".................#...................#...##.......", ".......................##.#..#....................", "......................#...........................", "..#..............................................#", "...............................................#..", "......#.#.#......##............#.......#...#......", "....#.......#.#.............#.........#...........", "#...............................................#.", "....................#...........................#.", "...................#...#.....................#....", ".....................................#......#.....", ".......#...........#.....#.#............#.........", "...#..............#.......#...............#.......", ".......#..................................#.......", "...............................##........#........", "...........#...............#......................", "..........................#.......................", ".........##.............................#.........", ".#........#.............................#.........", "........................#...#.....................", "................#..................#.............." }
Returns: 1870.544802503996
{ "......#......#....................................", "....#.............................................", "..................................................", "........#....#....#.................#.#...........", ".............#.............#......................", ".......#.........#.............................#..", "..........#...#..........#................#.......", "..............................#...................", "............#.........#........#....#............#", ".................#................................", "........#.................#.......................", "#.....#...........................................", "..............................................##..", ".............#.......................#...........#", "...................#..............................", ".......................#......#..............#....", ".................................##...............", "...........#......................................", ".........#..........#.............................", ".....................#.#..#............#..........", "...................................#..............", ".............#.................##............#....", "...............................#..#.....#.........", "........#.........#.*.#.....................#.....", "..........##...#........#........#................", "#.................................................", ".............................................#....", "...............#..#.............#..........##.....", "......#........#..................................", "..................................#...............", "....................................#.#...........", "...............#...........................#......", ".#..................................#............#", ".............#.................#...............#..", "....................................#............#", ".....................#.........................#..", ".......##.....#...................................", ".................#....#.......................#...", "..........................#...#.....#.........#...", "...................................#..............", "...........#....#.............#..#.............#..", ".........#........#.......................#.......", ".....#....................#........#..............", "..........................#.......................", ".........................#........................", "............#..........#.#..........#.............", "................................................#.", "..#............#..................................", "............................#.........#...........", ".................##.#.......#...............#....." }
Returns: 1699.610413669151
{ "......##..............................#...........", "#...#.............................................", "...............#.........#...............#........", "..................................................", "...........................................#....#.", "........#........#....#.......#...#....#..........", "........#....#....................................", ".............#...........#...............#........", "..................................................", "..#...........................#...................", "............#....#.......................#........", ".......#.........................#................", ".........#........................................", ".......#......#.........#...#.#........#..........", "............#...#................#................", "...............#....#.............................", "..........................#......#................", ".........#...................................##...", ".................#.........................#......", "..................................#.#.............", ".......................#................#.........", "...#....#.........................................", "...............................................#..", ".......#..................................#.......", ".......#...............#.............#............", "........#............#................#...........", "......................#...........................", "..........#..............................#........", "..#....................##.........................", "................................#............#..#.", "....#..#....#....#....................#......#....", ".................................#..............#.", ".....#..........#..#..............................", "..................#.#.............................", "..#...................#........#..................", "...#......##..................................#...", ".......#.........*...............#................", ".....#....................................#.......", "..........#........................#..............", "................................#...........#....#", "....................................#......#..#...", "...#...........................##........#........", "......................................#...........", ".........................#........................", "#.................#.....#.#.......................", "............................................#.....", "..............#..#..........#..........#..........", "#.................................................", ".........##.......................................", ".....................#....#......................." }
Returns: 1645.6394724456159
{ ".#...#.....#.#...#.......#..#........##...#......#", "#.##..#.............#.#.........#.....#....#......", "......#.............##..........#.......#........#", "#.#.#......##....#............#...#.....#.........", "............#....#.........#........#..##..##...#.", ".#...#........#.#........................#.......#", "#......#..#*..#........................#.......#..", ".........#....#...........#.....#..#..............", "..#..............#.....#.#..#...#.................", ".#................#...#........#..###.##..........", "##.......#....##.........#...............#........", ".....#..#....#.#...#.#.....##....#..............#.", "..#..#.#.......##.......................#..#....#.", "....#.##.....#....#......#..#......#....#..#..#..#", ".......#...#.#..........#.............#...........", "......#......#....................#...#.....#.....", ".#.....#.#........#..#.........#........#....###..", "#......#.......#...#.###...#....#......##.........", "....##...#..........#....#..#....##.........#....#", ".................................#.#....#..#......", "........#......#...............#....#....#.....#..", "..............##..............#...##..............", "..................#.............#..#........##....", ".........#..#...#.........##.........##...........", "...........#..##...........#...#.......#.....#.#..", ".............##....##.#.##...........#......#..#..", "............#........#.#..#...#........#........#.", "##...#............##...............#.#...........#", ".#........##.................#.#.#....#......#....", "............##......#..............#.#..........##", "......####............................#...........", "....................#...#.#...#.......#...........", "..##......#........................#.........#.#..", "...#.......#......##.#........#........#..........", ".....#.......#.....#..............#......#..#....#", ".....#......#.#...##..............##..............", "#........#.#......#....................#.....#....", "...............................#......##..#......#", ".......#....#.......#..........###.##..##....#....", "#.#............#......#.......##......#.....#.....", "...#...#......#..#.........#..#.......#..#........", ".....##.##...##......#........#..............#....", "..##..#..............###.............#..##........", "..........#.###.............#.......#.........##..", "........#.......................##........#.......", ".................#.........#..........#......#..#.", "#.#.......#.........#....#..#....#..#.............", ".................#..#..##.....#.......#...#...#.#.", "..................#....#..#........#.#....#.......", "......#...........#.......#....#...........#......" }
Returns: 2026.0765171349203
{ "..#....................#....#...#.......#.#.#...#.", "..#..#.......#......#.......#....#...#............", "...#...#....#........#...........#....#.......#...", "..#......#.#.....#...#.......###......#...........", "..#...##............#..#......#...................", "....#.##.#...#.............#..........#.....#.....", "....#...............#..........##.#......#..#....#", ".......#...........##.....#..................#....", ".#.......##......#....................#......#....", ".....#...........#..#.##............#...#......#..", "##*.##..#.#.#..#..##..............................", ".......#.........##.........#........#............", "......#..............#..........###...#....#..#.#.", ".#.#............#.#........#..................#...", "...#.....................#..#..#.........#........", "......#.#.#....##...##...#........#...#....#...#..", "#......##.......#.....#..#..........#...#..#......", "...#............#.......#.......#.#.......#.......", "...#...#................#......#.......#......#.#.", ".#.....#............#....#..#.#..........#..#...#.", "........#................#.....................#..", ".#..#................................#....#...#...", ".............#.......#.....#.....#......##.#......", "..#..#..#...#.........#...##...................#..", "................#.....#...#....##.............####", "......#.#.....................#.....#.....#.##....", ".#..........#..............#..##....#......#......", ".........#....#.........................#...#.....", ".#...#.......#....#.....#...........#...........#.", "..#....#.............#.............#.............#", "..........#.......................#..##.......#..#", ".......................#..........................", ".....#....................................#.......", ".......#....#.....#..#................#.........#.", "....#...#....#...........#.#.....#..##.#..#.......", ".#..........#...#....#...........#..........#.....", "....#.........#.#......#.........##.....#..##...#.", "....#........###..#......#...#.....###...#.....#..", ".##......#......#....#.#......#.................#.", "...#.....#..#...#......#.....#.#......#...........", "#......#..............##.....##.......#...#.......", "........#.#.##...#...........#..#..............#..", "..#...............##.#...#...#....##........#...#.", "................#....#.......#...#...#............", "...#...............#.....#.......#......#.........", "..#.#..........#.................##.....#.#.......", ".......#.#...#..#####......#.........#........#...", "#.#........#.......#.....#.##............#..##....", "#........#....#.......#....#......................", "##..........##...#.......#.....#...............#.." }
Returns: 2075.45593331154
{ ".#..#.....#...#....#.....##.......#...#...##..#..#", ".#.#.#..#............#.......#.........##..##..#..", ".........#.....#.....#.##.#..#.........#....#.#...", "........##...#.........#.#.##.##..#....#..........", ".#...#........###...........#...........#...#.....", "...#...............#..............##..#.##.#.....#", "...#.............#.....##..#.#.#....#...........#.", "..#.....##.#.##.......#........#................##", "......#.#..#..#..........#.....#..#...............", "...#....##...#.............##..#.#....#..###.####.", "....#.......#...##.#.###.....##....#....#.........", ".............#.....#...#..........#.#...#.#..#....", "#...#............#...#....#...#..............#...#", ".......##..#.#...#....#.#......##...##....#.......", ".#.............#.#..#.....#.....##...##..#....#.#.", "........##......##.#......#...##.........#...#.#..", "....#.##...#.....#..#......###.#......##.#......#.", "#................#.#..###.#..##...##.#.......#....", "..#.#....#.....#...#.....................##...#...", ".#........##.........#..#.#...#........#.#.......#", ".....#..#.........#...#..#...#...#...##...#.......", "...............#...........#....#.....###.....#...", "...#.....##.....#...#.#...#...........#.......##..", "#.#.##.##...............#...#..........#...#...#..", ".........#...#..#..#.....##...#...#.#.........#...", ".#....#..#.............#.#.#....#.....#..#.#...#..", ".....#..#..###..........#.##..#.#....#....#.......", "..#.###....#.........##.........#...#..#..#..#..##", ".............#......#.................#..#.###....", ".#....#..#....#..##.#.......##.##..#...#...#......", "....#.#.....#..........#...#..##.#..#.#..##..#....", "##.....#............................#..#.......#..", "....#....#...#.....#..###....#.#....##..##.......#", ".....#.............#..#.........#.....#....#...#..", "...........#.#............#......#..#......#...#..", ".#.#......#..#....#.....#...#...##....###.........", "....#......#.#..##...#..#.#.#.#...##.........*....", ".........#.......#..#.......##....#...#.#.........", ".............#......#......###...........###...#..", "#.......#...#...#...###...............#.##..#.....", ".....##........##..##...#......#.#....#...#.......", ".........##...............#..#.##.........#.#.....", "..##...#..##..#..#.#..............#...##..........", ".............##....#......#...#.......#..#........", "...#..............#.....#.....#.#.....#.#....#....", "..........#...#..#...##.....#...#..##...#....#....", ".....#....#............#..#.................#.#...", ".#.......###..#.......#.................##....#..#", "....#..#..#.......#............###..#.##..#.......", ".#.....#......#.#.#.....#......#......#.#......#.#" }
Returns: 1887.1905815770804
{ "###........#.##.....#.#.#....##.#...#..#....##..#.", ".....#........#..#...#..##....##..................", ".....#..#..#...........#....#.....#....#..........", "#....#.......#.......#...###..#.#.#..##.###..#....", ".............#....#......##.#.....#....#..........", "......#..................#.#.....#...#...#.....#.#", ".#............#.....#...#..#........#..##........#", "##..#...........#.#.##..........#....#.#......#...", ".#..#....#.#.....#........#......#.............##.", "#.#....#.##...........#####.....#.....##.........#", "...........#....*.....#...#....#.#...#.#.##..#.#..", ".##.#..#.##.............#...#..............######.", "..#........#...#......##.....##.#.......#....#..#.", "......###..............##..#....#..............#..", "#.....#.....#....#....#.#...##..###...........#...", ".#...#...#...#.....##.#.........#.#....#....#.....", ".....#..#..#.....###.....#.......#.....##........#", "#...#..#..#...#.............##.....#...#....#.#...", "...............................#...#.#.#...#.#....", "..#.#.#.#..................##.....#...#..#.....#..", "....#.#.#...............#.#####..##..#............", ".........#...#.#...........#..#...###.#.#....#.#.#", "..#..#...#..##......#.#.........#..#..#......#...#", "..#...........#......##...#.....##.##....##.....#.", "...#.#............##......#............#...#.#....", "#........#......#####......#........#..##......#..", "...#.#...#...##....#..#....##........##....#.#.#..", "#.......#........#..#.#.......#..#.#....#..#......", ".....#.##......#...##..............#..#...#......#", "....##...#......#.#......#..#.#...#....##....##...", ".............#....#.......#.#...#.#....#......#.#.", ".......#..#..............#..##.......#.#..#..##...", ".......###..#.#.....#..#.#.......###..........#...", "....#......#....#......#.##.....#..........#.#....", ".#.....#.......#.......#.......#..#....#.#........", ".......#.##.#......#........................#...#.", ".#..................#..#...............#..#...##..", "...###..#.......#...##.....#....##...#.........#..", "..#.#.......###..#.............#..#......##..#....", "...#....##.................#......#...............", "..#...#......##....##..##..#....#....##.#..#......", ".#.#..........#....#...#.#......#.....#..#........", "....#...#..................#........##..#.........", ".#...##...##...........#.#.#.....#.........###....", "#.#......#....#...........................#..#....", "##.....#.#.#..#.#..#............#.....##..#......#", "#....#.................#.#...#...#..##...##...#...", ".###...#...#.........#...###....#....##...#..#.#..", "..#...........#..#.#..#.......#.............#....#", "...............##.....#.....#........#.....#...#.." }
Returns: 1845.8811702579496
{ "#################################################.", "*.................................................", "#################################################." }
Returns: 1.989690721649481
{ "################################################..", "*................................................#", "################################################.." }
Returns: 3.968204015192619
{ "################################################..", ".................................................#", "*................................................#", "################################################.." }
Returns: 3.9364080303852518
{ "#############################################.....", "#############################################.....", "*.............................................####", ".............................................#####", "############################################......", "############################################......" }
Returns: 21.748121309144167
{ ".......................................###########", "######################################...........*" }
Returns: 37.0