Problem Statement
- Choose two numbers i, j (0<=i<j<N).
- Swap rows i and j.
- Then, swap columns i and j.
.#.#...# #.#...#. .##..# .#.#.#.. #.#.#. #.#.#... ##.#.. ...#.#.# ..#.## ..#.#.#. .#.#.# .#...#.# #..##. #...#.#. G(6) G(8)Return the minimum number of required operations. If her objective is impossible, return -1.
Definition
- Class:
- MonochromePuzzle
- Method:
- getMinimum
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int getMinimum(String[] board)
- (be sure your method is public)
Constraints
- board will contain between 6 and 50 elements, inclusive.
- The number of elements in board will be even.
- Each element of board will contain N characters, where N is the number of elements in board.
- Each character in each element of board will be either '.' or '#'.
Examples
{".##.#." ,"#.##.." ,"##...#" ,".#..##" ,"#..#.#" ,"..###."}
Returns: 2
One of the optimal solutions: First, choose (i, j) = (1, 2). Then, choose (i, j) = (4, 5).
{"###..." ,".##..." ,"..#..." ,"#..###" ,"##..##" ,"###..#"}
Returns: -1
It is impossible to transform board to G(6).
{".#.#...#" ,"#.#...#." ,".#.#.#.." ,"#.#.#..." ,"...#.#.#" ,"..#.#.#." ,".#...#.#" ,"#...#.#."}
Returns: 0
No operation is required.
{".#..#....#" ,"#....#..#." ,"....###..." ,"....#.#..#" ,"#.##......" ,".##....#.." ,"..##...#.." ,".....##.#." ,".#.....#.#" ,"#..#....#."}
Returns: 2
{".##.....#." ,"#..#.....#" ,"#..##....." ,".##..#...." ,"..#..##..." ,"...##..#.." ,"....#..##." ,".....##..#" ,"#.....#..#" ,".#.....##."}
Returns: 5
{".......##.#." ,"......#..#.#" ,"......#..##." ,".......##..#" ,"......#.#..#" ,".......#.##." ,".##.#......." ,"#..#.#......" ,"#..##......." ,".##..#......" ,"#.#..#......" ,".#.##......."}
Returns: 5
{".##..#......" ,"#.#.#......." ,"##.#........" ,"..#.##......" ,".#.#.#......" ,"#..##......." ,".......##..#" ,"......#.#.#." ,"......##.#.." ,"........#.##" ,".......#.#.#" ,"......#..##."}
Returns: -1
crucial case : two prisms
{".#.....#.....#" ,"#.#.........#." ,".#.#.......#.." ,"..#.#.....#..." ,"...#.#...#...." ,"....#.#.#....." ,".....#.#.....#" ,"#.....#.#....." ,".....#.#.#...." ,"....#...#.#..." ,"...#.....#.#.." ,"..#.......#.#." ,".#.........#.#" ,"#.....#.....#."}
Returns: -1
crucial case : entangled prism
{".##....#" ,"#..#..#." ,"#..##..." ,".##..#.." ,"..#..#.#" ,"...##.#." ,".#...#.#" ,"#...#.#." }
Returns: 1
N=8
{".##..#","#.#.#.","##.#..","..#.##",".#.#.#","#..##."}
Returns: 0
{".#.....#.......#","#.#...........#.",".#.#.........#..","..#.#.......#...","...#.#.....#....","....#.#...#.....",".....#.#.#......","#.....#.#.......",".......#.#.....#","......#.#.#.....",".....#...#.#....","....#.....#.#...","...#.......#.#..","..#.........#.#.",".#...........#.#","#.......#.....#."}
Returns: 0
{".#..........#............#","#.#.....................#.",".#.#...................#..","..#.#.................#...","...#.#...............#....","....#.#.............#.....",".....#.#...........#......","......#.#.........#.......",".......#.#.......#........","........#.#.....#.........",".........#.#...#..........","..........#.#.#...........","#..........#.#............","............#.#..........#","...........#.#.#..........","..........#...#.#.........",".........#.....#.#........","........#.......#.#.......",".......#.........#.#......","......#...........#.#.....",".....#.............#.#....","....#...............#.#...","...#.................#.#..","..#...................#.#.",".#.....................#.#","#............#..........#."}
Returns: 0
{".#...............#.................#","#.#...............................#.",".#.#.............................#..","..#.#...........................#...","...#.#.........................#....","....#.#.......................#.....",".....#.#.....................#......","......#.#...................#.......",".......#.#.................#........","........#.#...............#.........",".........#.#.............#..........","..........#.#...........#...........","...........#.#.........#............","............#.#.......#.............",".............#.#.....#..............","..............#.#...#...............","...............#.#.#................","#...............#.#.................",".................#.#...............#","................#.#.#...............","...............#...#.#..............","..............#.....#.#.............",".............#.......#.#............","............#.........#.#...........","...........#...........#.#..........","..........#.............#.#.........",".........#...............#.#........","........#.................#.#.......",".......#...................#.#......","......#.....................#.#.....",".....#.......................#.#....","....#.........................#.#...","...#...........................#.#..","..#.............................#.#.",".#...............................#.#","#.................#...............#."}
Returns: 0
{".#.#...#","#.#...#.",".#.#.#..","#.#.#...","...#.#.#","..#.#.#.",".#...#.#","#...#.#."}
Returns: 0
{".#......................#........................#","#.#.............................................#.",".#.#...........................................#..","..#.#.........................................#...","...#.#.......................................#....","....#.#.....................................#.....",".....#.#...................................#......","......#.#.................................#.......",".......#.#...............................#........","........#.#.............................#.........",".........#.#...........................#..........","..........#.#.........................#...........","...........#.#.......................#............","............#.#.....................#.............",".............#.#...................#..............","..............#.#.................#...............","...............#.#...............#................","................#.#.............#.................",".................#.#...........#..................","..................#.#.........#...................","...................#.#.......#....................","....................#.#.....#.....................",".....................#.#...#......................","......................#.#.#.......................","#......................#.#........................","........................#.#......................#",".......................#.#.#......................","......................#...#.#.....................",".....................#.....#.#....................","....................#.......#.#...................","...................#.........#.#..................","..................#...........#.#.................",".................#.............#.#................","................#...............#.#...............","...............#.................#.#..............","..............#...................#.#.............",".............#.....................#.#............","............#.......................#.#...........","...........#.........................#.#..........","..........#...........................#.#.........",".........#.............................#.#........","........#...............................#.#.......",".......#.................................#.#......","......#...................................#.#.....",".....#.....................................#.#....","....#.......................................#.#...","...#.........................................#.#..","..#...........................................#.#.",".#.............................................#.#","#........................#......................#."}
Returns: 0
{".#.##.","#...##","...###","#.#..#","###...",".###.."}
Returns: 3
{".##..#","#...##","#..##.","..#.##",".###..","##.#.."}
Returns: 1
{"...###","..##.#",".#..##","##..#.","#.##..","###..."}
Returns: 2
{".#..#........#","#.#.........#.",".#.#..#.......","..#........##.","#....#.#......","....#...#.#...","..#.......##..","....#...#....#",".....#.#.#....","........#.##..",".....##..#....","...#..#..#....",".#.#.........#","#......#....#."}
Returns: 4
{".#........##..","#....#.#......","...#....##....","..#.......#..#",".....#.#....#.",".#..#...#.....","..........##.#",".#..#......#..","..#..#......#.","..#.........##","#..#..#.......","#.....##......","....#...##....","...#..#..#...."}
Returns: 7
{"....##.#......",".....###......","....#..#.....#","........#.#..#","#.#......#....","##..........#.",".#........#.#.","###...........","...#.....#.#..","....#...#....#","...#..#....#..","........#.#.#.",".....##....#..","..##.....#...."}
Returns: 8
{".#.......#...........#","#.#...........#.......",".#.#...............#..","..#.#.............#...","...#...........#.#....","......#...#.....#.....",".....#.#.......#......","......#.#.#...........",".......#.....#......#.","#..........#........#.",".....#.#.....#........",".........#..#........#","...........#.#......#.","........#.#.#.........",".#.................#.#","....#.#.........#.....",".....#.........#.#....","....#...........#.#...","...#.............#.#..","..#...........#...#...","........##..#.........","#..........#..#......."}
Returns: 4
{"........#...#.#.......",".....#.....#...#......","..........#.........##","....#........#...#....","...#.#.....#..........",".#..#............#....",".......#...#...#......","......#.#.....#.......","#......#.#............","........#.#.#.........","..#......#........#...",".#..#.#...............","#........#........#...","...#...............##.","#......#.......#......",".#....#.......#.......","...................###","...#.#.............#..","..........#.#........#",".............#..##....","..#..........#..#.....","..#.............#.#..."}
Returns: 7
{"..........#...#......#",".....#...#.#..........","......#........##.....",".....#.........#..#...","......#.....#...#.....",".#.#................#.","..#.#..#..............","......#.#...#.........",".......#.....#...#....",".#..................##","#..........#.#........",".#........#..........#","....#..#.........#....","........#.#...#.......","#............#...#....","..##...............#..","..#.#..............#..","........#...#.#.......","...#...............##.","...............##.#...",".....#...#........#...","#........#.#.........."}
Returns: 8
{"..#................#......#...","...........#.....#..........#.","#..#..............#...........","..#.....................#.#...",".....#.................#.#....","....#.#.................#.....",".....#.#...............#......","......#.#.............#.......",".......#.#...........#........","........#.#.........#.........",".........#.#................#.",".#........#.#.................","...........#.#...#............","............#.#.#.............",".............#.#...........#..","..............#.#............#",".............#.#.#............",".#..........#...#.............","..#................#.......#..","#.................#..........#",".........#...........#......#.","........#...........#.#.......",".......#.............#.#......","....#.#...............#.......","...#.#...................#....","....#...................#.#...","#..#.....................#....","..............#...#..........#",".#........#.........#.........","...............#...#.......#.."}
Returns: 4
{".#..........#..#..............","#.............#.....#.........","...#........##................","..#.............#.........#...","..............#..#..#.........","......#.........#.......#.....",".....#.#...............#......","......#.#.............#.......",".......#.#...........#........","........#.#................#..",".........#.#.......#..........","..........#.......#..........#","#.#.........................#.","..#.......................#.#.",".#..#..........#..............","#.............#.............#.","...#.#...................#....","....#.............#..........#","...........#.....#.#..........","..........#.......#........#..",".#..#........................#","........#.............#....#..",".......#.............#.#......","......#...............#.#.....",".....#.................#.#....","................#.......#.#...","...#.........#...........#....",".........#.........#.#........","............##.#..............","...........#.....#..#........."}
Returns: 7
{"....#......#.........#........","...#.#...................#....","...#.................#.....#..",".##.......................#...","#......#.......#..............",".#......................#....#","..........#.#....#............","....#.......#...#.............","..............#...#....#......",".............##........#......","......#...........##..........","#..............#............#.","......##..............#.......",".........#..............#....#","........##..........#.........","....#......#....#.............",".......#.......#......#.......","......#............#..#.......","........#.#.........#.........","..........#......#..#.........","..............#...##..........","#.#.........................#.","............#...##............","........##...................#",".....#.......#...........#....",".#......................#.#...","...#.....................#.#..","..#.......................#.#.","...........#.........#.....#..",".....#.......#.........#......"}
Returns: 10
{".#................#..................#","#.#.................................#.",".#.#...............................#..","..#.#.....#...........................","...#.#...........................#....","....#...............#...........#.....",".................#.#.#................","........#...........#.........#.......",".......#.#...................#........","........#...................#.....#...","...#.............................#.#..","............#...........#.........#...","...........#.............#.#..........","........................#...#.....#...","...............#.......#...#..........","..............#.#.....#...............","...............#.#...#................","......#.........#.#...................","#................#.#..................","......#...........#..................#",".....#.#.......................#......","......#.........#.....#...............","...............#.....#.#..............","..............#.......#...#...........","...........#.#...........#............","............#...........#.#...........",".......................#.#.#..........","............#.#...........#...........",".........#...#...............#........","........#...................#.#.......",".......#.....................#.#......","....................#.........#.#.....",".....#.........................#.#....","....#.....#.....................#.....",".........#.#.#........................","..#.......#.........................#.",".#.................................#.#","#..................#................#."}
Returns: 4
{".#................#..................#","#................#.........#..........","..........................#.#....#....","....#......................#...#......","...#......#.....................#.....","..........#.....................#.#...",".......#........................#.#...","......#.#.....................#.......",".......#.#...................#........","........#...................#....#....","....##.........................#......","......................#...#......#....","...............#.....#.#..............","......................#.##............","......................#.#.#...........","............#...#........#............","...............#.....#..............#.",".#.................................#.#","#..................#................#.","..................#.#................#","...................#.#..............#.","............#...#...#.................","...........#.##.......................","............#...........##............",".............##........#..............",".............#.#.......#..............","..#........#..#.......................",".#.#...............................#..","..#......#...................#........","........#...................#.#.......",".......#.....................#....#...","...#......#........................#..","....###...............................","..#......#.#..........................",".....##.......................#.......",".................#.........#...#......","................#.#.#.................","#................#.#.................."}
Returns: 7
{"..#.#.#...............................","..............................#.#.#...","#...........................#......#..","............#.......#...#.............","#....#....................#...........","....#...........................#.#...","#.........................#........#..","........#.....................#...#...",".......#.#...................#........","........#.#....................#......",".........#...#......................#.","............................#......#.#","...#.......................#........#.","..........#.........#..........#......","...............#......#....#..........","..............#.#......#..............","...............#.#...#................","................#.#..............#....",".................#.#.....#............","..................#..............#...#","...#.........#......................#.","................#......#.........#....","..............#........##.............","...............#.....##...............","...#..................#....#..........","..................#.........#........#","....#.#.........................#.....","............#.#.........#.............","..#........#.............#............","........#.....................##......",".#.....#.....................#........",".........#...#...............#........",".#...#....................#...........",".................#.#.#................",".#...#.#..............................","..#...#....#..........................","..........#.#.......#.................","...........#.......#.....#............"}
Returns: 10
{"......#............#.......#..................","..#.......................#................#..",".#.#........................................#.","..#.#.....................................#...","...#.#...................................#....","....#............#.......#....................","#...................#...#.....................","........#................#............#.......",".......#.#...........................#........","........#.#.........................#.........",".........#.#.......................#..........","..........#.#.....................#...........","...........#.#...................#............","............#.#.................#.............",".............#.#...............#..............","..............#.#.............#...............","...............#.............#..........#.....",".....#.................................#.#....","...................#.......#............#.....","#.................#.#.........................","......#............#.#........................","....................#.#.#.....................",".....................#.#..#...................","......................#.#....................#","......#..............#.#......................",".....#.#...............................#......",".#....................#......................#","#.................#.........#.................","...........................#.#..........#.....","................#...........#.#...............","...............#.............#.#..............","..............#...............#.#.............",".............#.................#.#............","............#...................#.#...........","...........#.....................#.#..........","..........#.......................#.#.........",".........#.........................#.#........","........#...........................#.#.......",".......#.............................#.#......",".................#.......#............#.......","................#.#.........#.................","....#............#........................#...","...#.....................................#..#.",".#..........................................##","..#.......................................##..",".......................#..#................#.."}
Returns: 4
{".#....................#......................#","#.#.........................................#.",".#.#.......................................#..","..#.#...................................#.....","...#.#...................................#....","....#.......................#....#............","............#...................#.#...........","...............................#.#....#.......","..........#...................#.#.............",".....................#.#.#....................","........#....#.#..............................","............#.#...................#...........","......#....#.#................................","..........#.#...................#.............","...........#............#..........#..........","..........#.....#.............#...............","...............#.............#............#...","...........................#.#............#...","...................#.......#..............#...","..................#.#.....#...................","...................#.#...#....................",".........#..........#.#.......................","#....................#.#......................",".........#............#......................#","..............#................#....#.........",".........#..........#.....#...................","...................#.....#.#..................",".................##.......#...................",".....#.................................#.#....","................##............#...............","........#......#.............#................",".......#................#............#........","......#.#....#................................",".....#.#...............................#......","......#....#.......................#..........","..............#...................#.#.........","........................#..........#.#........","...............................#....#.#.......",".......#.............................#.#......","............................#....#....#.......","...#.....................................#.#..","....#.......................#...........#.....","................###...........................","..#.....................................#...#.",".#.........................................#.#","#......................#....................#."}
Returns: 7
{"............#.........#......................#","..................#.........#.........#.......","...#........#......................#..........","..#.#.....................................#...","...#......#..............................#....",".........#.#...............................#..","..........#......#.....................#......",".........#.......#...................#........","...........#.#...................#............",".....#.#............................#.........","....#.#.................................#.....",".....#..#.........................#...........","#.#................#..........................","........#.....#.................#.............",".............#.#...............#..............","..............#.............#.#...............",".................#...................#.#......","......##........#.............................",".#.........................#................#.","............#......................#.........#",".....................#...#..................#.","....................#.#.#.....................","#....................#....#...................",".........................#.#................#.",".....................#...##...................","....................#..##.....................","......................#.#....................#","..................#....#..............#.......",".#.............#.............#................","............................#.#.......#.......","...............#.............#.#..............","..............#...............#.#.............",".............#.................#.#............","........#.......................#.#...........","...........#.....................#.........#..","..#................#......................#...",".........#...........................#.....#..",".......#........#...................#.........",".#.........................#.#................","......#.........#.......................#.....","..........#............................#.#....","....#...................................#.#...","...#...............................#.....#....",".....#............................#.#.........","..................#.#..#......................","#..................#......#..................."}
Returns: 10
{".#..##","#.#.#.",".#.#.#","..#.##","##.#..","#.##.."}
Returns: 1
{"....##.......#","....#.#......#","...#....#...#.","..#......##...","##.....#......","#......#.#....",".#......#..#..","....##......#.","..#...#...#...","...#.#......#.","...#....#..#..","......#...#..#","..#....#.#....","##.........#.."}
Returns: 9
{"........#.#..........#","....#..#..........#...",".........#.#....#.....",".....##..........#....",".#...#.........#......","...##..............#..","...#.....#......#.....",".#.............#.....#","#............#....#...","..#...#..........#....","#............#......#.","..#.........#.......#.","...........#..#.#.....","........#.#...#.......","............##......#.","....#..#...........#..","..#...#.....#.........","...#.....#.........#..",".#......#............#",".....#.........#.#....","..........##..#.......","#......#..........#..."}
Returns: 14
{"............#..#..........#...","........#...#..#..............","...#.................#..#.....","..#..#.......#................","......#...............#......#","...#..#.................#.....","....##.......#................","..............#..........#.#..",".#.....................#....#.","................##...#........","...........#...........#...#..","..........#.......#.#.........","##...............#............","...#..#...............#.......",".......#..............#......#","##..........................#.",".........#.........#......#...",".........#..#.............#...","...........#.............#.#..","................#....#..#.....","...........#...........#....#.","..#......#.........#..........","....#........##...............","........#.#.........#.........","..#..#.............#..........",".......#..........#..........#","#...............##............",".......#..#.......#...........","........#......#....#.........","....#.........#..........#...."}
Returns: 21
{".#.#...#","#.#...#.",".#.#.#..","#.#.#...","...#.#.#","..#.#.#.",".#...#.#","#...#.#."}
Returns: 0
{"..#.##..","..#..##.","##.....#","....###.","#..#...#","##.#....",".#.#...#","..#.#.#."}
Returns: 3
{"..#.#.#.","..#..##.","##.....#","....###.","#..#...#",".#.#...#","##.#....","..#.##.."}
Returns: 2
{"..###...",".....###","#....#.#","#.....##","#....##.",".##.#...",".#.##...",".###...."}
Returns: 3
{".#...##.","#...#..#","...#.##.","..#.#..#",".#.#..#.","#.#....#","#.#.#...",".#.#.#.."}
Returns: 4
{"..#..##.","...##..#","#..#...#",".##...#.",".#...##.","#...#..#","#..##...",".##..#.."}
Returns: 5
{"...#.##.","....###.","...###..","#.#....#",".##....#","###.....","##.....#","...##.#."}
Returns: 4
{"....##.#","..##..#.",".#..#..#",".#..##..","#.##....","#..#..#.",".#...#.#","#.#...#."}
Returns: 3
{"...#..##",".....###","...#.#.#","#.#.#...","...#.##.",".##.#...","##..#...","###....."}
Returns: 2
{".##....#","#..##...","#...#.#.",".#...#.#",".##..#..","...##.#.","..#..#.#","#..#..#."}
Returns: 3
{"..#..#.#","...##.#.","#...#.#.",".#...#.#",".##..#..","#..##...",".##....#","#..#..#."}
Returns: 4
{"...##.#.","...#.#.#","...#..##","###.....","#....#.#",".#..#.#.","#.#..#..",".##.#..."}
Returns: -1
{"............###.............","..........#.##..............",".......#..............#...#.","..........#..#...........#..",".....##..............#......","....#...........#........#..","....#...........##..........","..#......#....#.............","..................#.#.....#.",".......#............#.....#.",".#.#.................#......","...............#.#.....#....","##....................#.....","##.#........................","#......#..............#.....","...........#.......#....#...",".....##....................#","......#....#...............#","........#..........#....#...","...............#..#....#....","........##..............#...","....#.....#..............#..","..#.........#.#.............","...........#.......#.......#","...............#..#.#.......","...#.#...............#......","..#.....##..................","................##.....#...."}
Returns: -1
{".....#...........................#.............#","...#......................................#.#...","........#.#.#...................................",".#................#.#...........................",".......#......................#........#........","#............#........................#.........","...................#....#...#...................","....#................#............#.............","..#..............#.....#........................","..............................#....#......#.....","..#........#...........#........................","..........#.#...#...............................","..#........#.............#......................",".....#...............................#.....#....","......................#.#.........#.............",".............................#.......#.....#....","...........#.............#.#....................","........#...............................#......#","...#.......................#................#...","......#.............................#....#......","...#.....................#.#....................",".......#......................#....#............","..............#........................#.....#..","........#.#.............................#.......","......#.......#..............................#..","............#...#...#...........................","...................................#......#.#...","................#.#.#...........................","......#.............................#........#..","...............#...............#..............#.","....#....#...........#..........................",".............................#...........#.#....",".................................#......#......#","#...............................#.....#.........",".......#......#........................#........",".........#...........#....#.....................","...................#........#.................#.",".............#.#......................#.........",".....#...........................#...#..........","....#.................#...........#.............",".................#.....#........#...............","...................#...........#..............#.",".#.......#................#.....................",".............#.#...............#................",".#................#.......#.....................","......................#.#...#...................",".............................#......#....#......","#................#..............#..............."}
Returns: -1
{"..##...#","...#.#..","#.#...#.","#..#....",".#.#....",".#####..","#####..#",".#.##.##"}
Returns: -1
{"#..#..#####.#####..###","#.#..#..#.###..####.##","..###....#.##...######","#..####.....###....###","...#..#..#..#.#...####",".###.....#.###....###.","#..#####.##.####.#.#..","##..#####.#.##.###.###","###.#...##...#..#....#","#.##.##.#.##.#.#.#.##.","#...#..#.###....##.#..",".#.#..#..#...##......#","..#.######.##.##...##.","#.#####..##.#...#.....","#.##.#...#.#.##.#..#.#","....###.###.#...#####.",".#..####.....###.#....","..######..##.####.#.##","#.#.#.#.#.###.####..#.","#.##.###..#...####..#.","#..#..###..#.###..#...","#..####.....#####.####"}
Returns: -1
{".#..#..###.#.....##..#......#...###.","##.###.##..#....###.#.#...#...#..##.","...#.####.#....#......#.##..###...#.",".#.#.#.#..###########..#...#..#..#..","...#####.#..#.##...#.###.##.##......","#.##..#..###....#.#...#..###.##.###.","..##.#.....#...#..##...###..##.....#","##..######..###...#.#......#.##.###.","####...########..#.##..#..###...####",".###.##.#....##..##.....#...##.#....","#.####....#.#..##.##......#.###...##","...##.....#.#.#...#.#.#..#.#....##..","..#..#.....#.#...#...#..#.####.###..","#.##...#..##.#.#.....##.....###.###.",".#..######.#..#....#.#######.#...#.#","#.#.##..#...#..#########.#.###...#..",".#.#..##....#..#.....##.####..#..###","#######....#.###.##.#####.##.##...#.","###.....#####...#..###..#.#..#..#.##",".##..###...###.###..#.####...##.###.","..#...#..#..##....##..#..#.##.####..","..##.#####....##.#..#..##.#...#..##.","..##.####.#.##....#..##..#....#..###",".#..##.###.#...#.###...###.#.#.#..#.","#####..##.....#..####.#####.#.#.##.#",".#...##....####.######.##...#..###.#","###.##.##....#.#.##.#..##...###...##",".####.#..###.####..#.###.#######.##.",".#..#.#.##...#.##.....#..#..#...#.#.",".###.##...##.###...####....#.#####.#",".....#...##.....###..#....#.#..#####",".##..##.#.##.##.#.#.#....###.#.#...#","#...######.##.###.##..##.#..#..##.#.","#....##.#.##..#.##.##.#..#.#..##.#.#",".#.##.##.#..#.#..#..#....#####.##...","...####.######.##.#..###..#..#...##."}
Returns: -1
{"##.#.##......#..#...##..#.#.##.#.#..#####..#..#..#","#####.##..#.#..#..#######.##..##..#######.##..#.#.","##...###..####..#..#.#.#.#.###..#.#.##.#.###...#.#","..#..####.#.#..#..##.#.#.##....#####..#....##.#.#.","##..#...##...#....#.#.#..####..#...##...#..###.#..","#.#.#####...#.########..####.######.#.##..###.....","#.##..##...#....####.#.....##..####.##.###...##.#.","##......##.###.#..##...#.#..###.##..###...###.#.##","###...###.#.##.##..##.##....#..##.####...#..##.###","##.#..#..#####.###.##..###..#####..#..##.#.##..#..","#.#..#..##.##..#..#.###...#...####.#####..#####.##","..####.###.##.#.##.##.#..##.####.#..#.#.###.##.##.",".#......##.#..##..#.####.##...#.######..##...#..##","#######.###.#.......####....#...###.##.####.###...","..#######....#.##.#..#.##.##.###..#.#####..#.#.##.",".#...#############.#..##.#..#..###....#.###..#.##.",".####.#.######..####.#.......#.#.....#..#######.##","#.#..#.##..#...####..##.#.#......#.##.#.######.###","##..#.#.#..##.#.#.##..#.####.##.#####.#.##...#.##.","...#.###.....#.####..#...####...##..#.#...#.#.###.",".##.#....#..###.#....###...##..#.#..#..#.#.##..#..","...#.#.#.#....###...#..####....#...##.#...#..##...",".#.#....#.#.#..#..#####.#...#.#..#..#..###..#...##","##.#.##..##.#...##.......##.#......###.###.####.##","##.###.#.#..#......#..#.....#..#.##.##..####..##.#",".....###..#.#.##.##...#..#..####..#.##.#...#...##.","...###..#..#.#.#########....#.#..#......##.#.#.#..",".#####.#..#...#.#.#.#.#..#.######.##.#.##.#.#..#.#","..#...#.##..#.#..#...##..#....##.#.......####...#.",".....###.#####..##..####.#.######....###....##....","##..#..#..###.##..##......#...##..###.##.#..###..#","##...##.#..###..#......###.....##..#.#.##.#.#..#.#",".#.##...#.###..##...####.#.##..##..#..#..#.#..##..","...#.###.##.##..##.##.#.###.#.#..##.##.##.###.#.##","...####..#.#.#..#..#....#.##...#..###....#####.#.#","..####.#.####.########.#.#.##.#.######..#..#..#...","#.#####...##.#...#####.#..###.#.##..###.#.#..#..##","....###.#...##..#..#..#..#....#.#..#.....#.#..####",".#.#.#.##.###.##.###.#.#.###...#####..#.##.....##.","...###.#...###...##..#.#.#....###..##...##.##..#.#",".#.#....###.####.#....#.###.###..#.#.##.##..#.#.#.","#..#.##..##.##.....#.#.##...#.#.#.#.###.#.....#.##","##...#..##..#.#.....#####..##....#.#....#...##.##.","..##...##...#..##.#####...##.#.#..#...#####.###.#.",".###.##.######...#.#..##.###..########.##.#######.","..#.##...#.#.##.#..##.#.#.###.##########.##..#..#.","#####.#.#...#######..#.#.#.#..#...#..###.#.#.#....",".##..###..#.##.#....#.#.#.#.#....##.#..#.####.#..#","..#.##.#.#.###.#......#####...##..#...##.#.##....#","..####.#.##..#.#.#.#.#...##.#.#.###.....#...#.#..."}
Returns: -1
{"..####","..####","##..##","##..##","####.#","#####."}
Returns: -1
{".#..##","#.##..",".#.##.",".##..#","#.#..#","#..##."}
Returns: 2
{".#####","#..###","#...##","##..#.","####.#","###.#."}
Returns: -1
{".#...#","#...##","...##.","..#.#.",".###..","##...."}
Returns: -1
{".#######","#.#.####","##.#####","#.#.####","####..##","####..#.","######.#","#####.#."}
Returns: -1
{"..................#....#......................#...",".........#......#....................#............","..............#.......................##..........",".................#..#......#......................","................#...#.....#.......................","........#.......................#................#","...................#.............................#","..................#.........................#....#",".....#..............#.#...........................",".#.............................#........#.........","..................................#...........#...","............#...........#............#............","...........#................#.......#.............","................#.........................#.#.....","..#.....................#................#........","......................#.#.........#...............",".#..#........#....................................","...#.................#.......#....................","#......#........................#.................","......#...................#.......................","...##...#.........................................",".................#.....#...........#..............","........#......#............#.....................","#....................#.....#......................","...........#..##..................................","...............................#..........##......","....#..............#....................#.........","...#...................#.....................#....","............#.........#..........#................",".................#.................#............#.",".....................................##........#..",".........#...............#............#...........",".....#............#..........................#....","............................#......#.........#....","..........#....#..................................",".....................#.......#...#................","............#...........................#..#......",".#.........#..................#...................","..#...........................##..................","..#........................................#..#...",".........#................#.........#.............","..............#................................##.",".............#...........#.....................#..",".........................#..........#..#..........",".......#.....#..................................#.","...........................#....##................","#.........#............................#..........","..............................#..........##.......",".............................#...........#..#.....",".....###.........................................."}
Returns: -1
{".....#..","..##....",".#.#...#",".##.....","......##","#.......","....#..#","..#.#.#."}
Returns: -1
{".......................##......#...#.....#.#......","....#..................#...#..............#..##...","...........#...........#..........##.....#.#......","..........#...#....#............#........#.....#..",".#.....#.#............#.....#...................#.","....................#.#......#.#.#...............#",".................#...#....#...#.....#.....#.......","....#......#........#.....#..........#...........#","...........#........#...#.....#..............#...#","....#........................#..#.....#......#.#..","...#....................#.............#....#....#.","..#....##..........#............#..#..............","....................#....#.........#....#.....#.#.","......................#.......#..##.#.......#.....","...#............#.##..#......................#....",".......................#....#..#...........##.#...","..............#........#...............#..#.#.#...","......#..............#.....#..#...........#.......","..............#...........#.......#.#.............","...#.......#..#................#....##............",".....#.##...#..........#..................#.......","......#..........#................#..#.#........#.","....##.......##.........#...................#.....","###............##...#.............................","#.......#.#...........#.........#........#........","............#...............##.......#...#.#......","......##..........#............#......#.......#...",".#...............#...............#......#...#.....","....#..........#.........#.......#...#.#..........",".....#...#...............#.......#.#...........#..","......#.#....#...#..............#..............#..","#....#.........#...#......#................#......","...#.....#.#............#.....#..............#....",".....#.......#.............###........#...........","..#..........#....#..#.................##.........","#.#........##................#..........#.........","......#......#....##...........................#.#",".......#...........#.#...#..#...............#.....",".........##...............#......#..............#.","................#....#......#.....#......#.......#","............#..............#......##...........##.","#.##....................##.............#..........",".#....#.........##..#.........................#...","#.#.......#....#.........#.....#..................",".............#.##.....#....#.........#............",".#......##....#.................#................#",".#..........#..##.........#...............#.......","...#.....#...................##.....#...#.........","....#.....#.#........#................#.#.........",".....#.##...........................#..#.....#...."}
Returns: -1
{".##..#","#.#.#.","##.##.","..#.##",".###.#","#..##."}
Returns: -1
{".##..#","#.#.#.","##.#..","..#.##",".#.#.#","#..##."}
Returns: 0
{".#####","#.#.#.","####..","#.#.##","##.#.#","#..##."}
Returns: -1
{".##..#","###.#.","##.#..","..#.##",".#.#.#","#..##."}
Returns: -1
{"######","######","######","######","######","######"}
Returns: -1
{".#################################################","#.################################################","##################################################","#################################################.","####.################.##########################.#","###################################.##############","########################################.########.","###########.######################################","##################################################","#####################.############################","##################################################","#######.###.######################################","#########################.###############.######.#","##########################.#######################","##################################################","##################################################","####################################.##########.##","##################################################","######################################.#########.#","##################################################","##################################################","####.####.########################################","#########################################..#######","##################################################","##################################################","############.#########################.###########","#############.###################.################","##################################################","##################################################","#############################.####################","##################################################","##################################################","###################################.####.#########","##########################.#######################","##################################################","#####.##########################.##.##############","################.#################################","##########################################.####.##","##################.######.########################","##################################################","######.#########################.################.","############.#########.###########################","######################.##############.############","##################################################","##################################################","##################################################","##################################################","################.####################.###########.","####.#######.#####.###############################","###.##.#################################.######.##"}
Returns: -1
{".#.##.","#.#..#",".#..##","#...##","#.##..",".###.."}
Returns: 3
{".##......#","#..#..#...","#...#.#...",".#.....##.","..#..#...#","....#..##.",".##.....#.","...#.#...#","...#.##...","#...#..#.."}
Returns: 7
{"............#............#.......#......","......#....................##...........",".......#....#....................#......","..............#..#............#.........","..............#..#.....#................",".......#.#................#.............",".#.........#..................#.........","..#..#..........................#.......",".............#..#......#................",".....#...............#..........#.......","...................#....#..........#....","......#...........#........#............","#.#.............................#.......","........#......................#....#...","...##.............#.....................","....................#.......#........#..","........#.............#........#........","...##...............................#...","...........#..#...............#.........","..........#...........#...............#.","...............#.............#.........#",".........#................#...........#.","................#..#....#...............","....#...#...........................#...","..........#...........#........#........","#............................#.........#",".....#...............#.............#....",".#.........#......................#.....",".#.............#..................#.....","....................#....#...........#..","...#..#...........#.....................",".............#..#.......#...............",".......#.#..#...........................","#.#....................................#","...........................##........#..","..........#...............#...........#.",".............#...#.....#................","...............#.............#....#.....","...................#.#.............#....","....................#....#.......#......"}
Returns: 34
{".......#...#...................#..........",".....#....#...................#...........",".....................#...#.#..............","................#............#......#.....","......#.....##............................",".#..................#.......#.............","....#...........................#.#.......","#.............#...............#...........",".........#.........#.............#........","........#......................#......#...",".#..........................#........#....","#.............#..................#........","....#...........#..................#......","....#.............................##......",".......#...#.........................#....",".........................##.........#.....","...#........#.........#...................","..................#.#.......#.............",".................#...#.....#..............","........#..............#..............#...",".....#...........#.........#..............","..#...............#....................#..","................#............#.....#......","...................#....................##","..........................#..#......#.....","..#............#.......................#..","...............#........#..............#..","..#...............#.#.....................",".....#....#......#........................","...#..................#.#.................",".#.....#.............................#....","#........#.......................#........","......#.................................##","........#..#...................#..........","......#......#..........................#.","............##........#...................","...#...........#........#.................","..........#...#...............#...........",".........#.........#.....................#",".....................#...##...............",".......................#........#.#.......",".......................#........#.....#..."}
Returns: 36
{"...#............................#........#........","............#.........#...............#...........","............................#..#......#...........","#......................#.............#............",".............................#..#........#........","...........#....#.......................#.........","........#..........#.............#................",".......................#.............#........#...","......#....................#.................#....","..........#.......#............................#..",".........#.....#..........................#.......",".....#...........#.......#........................",".#..................................#............#",".................#.......#.........#..............","..................#............#...............#..","..........#...................#................#..",".....#...........................##...............","...........#.#.............................#......",".........#....#.....#.............................","......#....................#..#...................","..................#.........#..#..................","......................#.....#.........#...........",".#...................#..............#.............","...#...#........................#.................",".............................#...........#..#.....","...........#.#..........................#.........",".....................................#.....#..#...","........#..........#......................#.......","..#.................##............................","....#...................#.......................#.","...............#...#......................#.......","..#...........#.....#.............................","#...#..................#..........................","......#.........#............................#....","................#.......................#....#....",".............#.............................#..#...","............#.........#................#..........","...#...#..................#.......................",".##..................#............................","....................................#...........##",".....#...................#........#...............","#...#...................#.........................","..........#................#..#...................",".................#........#........#..............","........................#.......................##","........#........................##...............",".......#..................#........#..............",".........#....##..................................",".............................#.........#....#.....","............#..........................#....#....."}
Returns: 43
{".............#.........................#..#.......","...............##........................#........",".............#............................#...#...",".....#.......................#..#.................","....................#...............#...#.........","...#.....................#..#.....................",".................#........#.................#.....",".........#..............#.......#.................","..................................##.........#....",".......#.................#.#......................","............#.#................#..................","........................#........#...............#","..........#......#..........................#.....","#.#...............#...............................","..........#......#.........................#......",".#..................#...................#.........",".#..................#............#................","......#.....#.#...................................",".............#.........................#.....#....",".......................#....#...................#.","....#..........##.................................","....................................#.#.#.........","..........................................#...##..","...................#.........#.....#..............",".......#...#...............#......................",".....#...#......................#.................","......#.......................................##..",".........#..............#........................#",".....#.............#.........#....................","...#...................#....#.....................","..................................#....#.....#....","..........#...........................#....#......","...#...#.................#........................","...........#....#........................#........","........#.....................#.................#.","........#..............#........................#.","....#................#...............#............","....................................#.#....#......",".....................#.........#.....#............","#.................#...........#...................","....#..........#.....#............................",".#...............................#...............#","#.#...................#...........................","..............#................#.....#............","......#.....#..................................#..","........#.........#...........#...................","..#...................#...#.......................","......................#...#.................#.....","...................#..............##..............","...........#...............#.............#........"}
Returns: 43
{"...................#.............#.......#........","...................#.....................#....#...","............#..#.................#................","......#...............................#.#.........","................#.....#....................#......",".......#.#...........#............................","...#..............................#.........#.....",".....#.........................#.................#","..............................#....#.........#....",".....#.........................#................#.","............#...........#.......#.................","....................#...#.......#.................","..#.......#...............................#.......",".................#.............#.................#","..................#...............#.#.............","..#....................................#..#.......","....#......................#.#....................",".............#.........#.............#............","..............#.....#...#.........................","##.....................................#..........","...........#......#.................#.............",".....#....................#.....................#.","....#..................#.............#............",".................#....#..........................#","..........##......#...............................","..........................#...........#.........#.",".....................#...#.....................#..","................#.............#............#......","..................................#.#.......#.....","................#.............#..............#....","........#..................#.#....................",".......#.#...#....................................","..........##..............................#.......","#.#....................................#..........","......#.......#.............#.....................","........#................................#....#...","..............#.....#.......#.....................",".................#....#....................#......","...#.....................#.....................#..","...............#...#.............#................","...#........................................#..#..","##.................................#..............","............#..#................#.................","....#......................#.........#............","......#.....................#...........#.........","........#....................#................#...",".#.................................#.........#....","..........................#...........#.#.........",".........#...........#...#........................",".......#.....#.........#.........................."}
Returns: 43
{".#...............#.................#" ,"#.#...............................#." ,".#.#.............................#.." ,"..#.#...........................#..." ,"...#.#.........................#...." ,"....#.#.......................#....." ,".....#.#.....................#......" ,"......#.#...................#......." ,".......#.#.................#........" ,"........#.#...............#........." ,".........#.#.............#.........." ,"..........#.#...........#..........." ,"...........#.#.........#............" ,"............#.#.......#............." ,".............#.#.....#.............." ,"..............#.#...#..............." ,"...............#.#.#................" ,"#...............#.#................." ,".................#.#...............#" ,"................#.#.#..............." ,"...............#...###.............." ,"..............#.....#.#............." ,".............#.......#.#............" ,"............#.........#.#..........." ,"...........#...........#.#.........." ,"..........#.............#.#........." ,".........#...............#.#........" ,"........#.................#.#......." ,".......#...................#.#......" ,"......#.....................#.#....." ,".....#.......................#.#...." ,"....#.........................#.#..." ,"...#...........................#.#.." ,"..#.............................#.#." ,".#...............................#.#" ,"#.................#...............#."}
Returns: -1
diagonal line
{".#...............#.................#" ,"#.#...............................#." ,".#.#.............................#.." ,"..#.#...........................#..." ,"...#.#.........................#...." ,"....#.#.......................#....." ,".....#.#.....................#......" ,"......#.#...................#......." ,".......#.#.................#........" ,"........#.#...............#........." ,".........#.#.............#.........." ,"..........#.#...........#..........." ,"...........#.#.........#............" ,"............#.#.......#............." ,".............#.#.....#.............." ,"..............#.#...#..............." ,"...............#.#.#................" ,"#...............###................." ,".................#.#...............#" ,"................#.#.#..............." ,"...............#...#.#.............." ,"..............#.....#.#............." ,".............#.......#.#............" ,"............#.........#.#..........." ,"...........#...........#.#.........." ,"..........#.............#.#........." ,".........#...............#.#........" ,"........#.................#.#......." ,".......#...................#.#......" ,"......#.....................#.#....." ,".....#.......................#.#...." ,"....#.........................#.#..." ,"...#...........................#.#.." ,"..#.............................#.#." ,".#...............................#.#" ,"#.................#...............#."}
Returns: -1
{".##...#.","#..#...#","#..#.#..",".##.#...","...#.#.#","..#.#.#.","#....#.#",".#..#.#."}
Returns: 1
{".##..#..","#..#...#","#..#..#.",".##.#...","...#..##","#.....##","..#.##..",".#..##.."}
Returns: 2
{"..#.#.#.","..#..##.","##.....#","....###.","#..#...#",".#.#...#","##.#....","..#.##.."}
Returns: 2
{"...###..","...##.#.","....###.","##.....#","###.....","#.#....#",".##....#","...#.##."}
Returns: 3
{"...##..#","..#..##.",".#..#..#","#....##.","#.#...#.",".#.#...#",".#.##...","#.#..#.."}
Returns: 3
{"...###..","..#...##",".#.##...","#.#...#.","#.#....#","#.....##",".#.#.#..",".#..##.."}
Returns: 4
{"..###...","...###..","#.....##","##....#.","##.....#",".#....##","..##.#..","..#.##.."}
Returns: 4
{".#.##...","#....##.","...##..#","#.#...#.","#.#..#..",".#..#..#",".#.#...#","..#..##."}
Returns: 4
{"....##.#","....#.##",".....###","....###.","##.#....","#.##....",".###....","###....."}
Returns: 5
{".##..#..","#...#..#","#..#...#","..#..##.",".#...##.","#..##...","...##..#",".##...#."}
Returns: 5
{".##.#...","#..#.#..","#....##.",".#..#..#","#..#..#.",".##....#","..#.#..#","...#.##."}
Returns: 5
{"..#.#..#","...##..#","#....##.",".#...##.","##....#.","..##...#","..###...","##...#.."}
Returns: 5
{".##.#...#.......#...............#.................","#..#.#...#.......#...............#................","#..#..#...#.......#...............#...............",".##....#...#.......#...............#..............","#....##.....#.......#...............#.............",".#..#..#.....#.......#...............#............","..#.#..#......#.......#...............#...........","...#.##........#.......#...............#..........","#........##.#...........#...............#.........",".#......#..#.#...........#...............#........","..#.....#..#..#...........#...............#.......","...#.....##....#...........#...............#......","....#...#....##.............#...............#.....",".....#...#..#..#.............#...............#....","......#...#.#..#..............#...............#...",".......#...#.##................#...............#..","#................##.#...#.......................#.",".#..............#..#.#...#.......................#","..#.............#..#..#...#.......................","...#.............##....#...#......................","....#...........#....##.....#.....................",".....#...........#..#..#.....#....................","......#...........#.#..#......#...................",".......#...........#.##........#..................","........#.......#........##.#.....................",".........#.......#......#..#.#....................","..........#.......#.....#..#..#...................","...........#.......#.....##....#..................","............#.......#...#....##...................",".............#.......#...#..#..#..................","..............#.......#...#.#..#..................","...............#.......#...#.##...................","#................................##.#...#.......#.",".#..............................#..#.#...#.......#","..#.............................#..#..#...#.......","...#.............................##....#...#......","....#...........................#....##.....#.....",".....#...........................#..#..#.....#....","......#...........................#.#..#......#...",".......#...........................#.##........#..","........#.......................#........##.#.....",".........#.......................#......#..#.#....","..........#.......................#.....#..#..#...","...........#.......................#.....##....#..","............#.......................#...#....##...",".............#.......................#...#..#..#..","..............#.......................#...#.#..#..","...............#.......................#...#.##...","................#...............#................#",".................#...............#..............#."}
Returns: -1
[IM] Breaks my brute force solution if I don't check for 3-regularity.
{"....................#.......#.....#...............", ".....................#....#.........#.............", ".......................#.......#.............#....", "........................#..........#.......#......", "................#........................#.....#..", ".......#................#..................#......", ".................##................#..............", ".....#..........................##................", "................#.........#..............#........", "..............##............................#.....", "..................#................#.......#......", "...................#...........#.............#....", ".................#............#...........#.......", "..............#...................#.........#.....", ".........#...#..................................#.", ".........#......#..............................#..", "....#...#......#..................................", "......#.....#.................................#...", "......#...#...................................#...", "...........#..........................#..........#", "#..........................#.#....................", ".#.....................................#..#.......", ".........................#.#............#.........", "..#.............................##................", "...#.#..........................#.................", "......................#..............#...........#", ".#......#..............................#..........", "....................#.#..............#............", "#............................#..................#.", "....................#.......#........#............", "............#.......................#.........#...", "..#........#.....................#................", ".......#...............##.........................", ".......#...............#.......#..................", "#............#..................................#.", "...#..#...#.......................................", ".#............................#...........#.......", ".........................#.#.#....................", "...................#....................#....#....", ".....................#....#..............#........", "......................#...............#..........#", "....#...#..............................#..........", "............#........#..............#.............", "...#.#....#.......................................", ".........#...#.................................#..", "..#........#..........................#...........", ".................##...........#...................", "....#..........#............................#.....", "..............#.............#.....#...............", "...................#.....#..............#........." }
Returns: 39
{".#.............................................#.#", "#.#...........................................#...", ".#.#.........................................#....", "..#.#.......................................#.....", "...#.#.....................................#......", "....#.#...................................#.......", ".....#.#.................................#........", "......#.#...............................#.........", ".......#.#.............................#..........", "........#.#...........................#...........", ".........#.#.........................#............", "..........#.#.......................#.............", "...........#.#.....................#..............", "............#.#...................#...............", ".............#.#.................#................", "..............#.#...............#.................", "...............#.#.............#..................", "................#.#...........#...................", ".................#.#.........#....................", "..................#.#.......#.....................", "...................#.#.....#......................", "....................#.#...#.......................", ".....................#.#.#........................", "......................#.#........................#", ".......................#.#......................#.", "......................#.#.#.......................", ".....................#...#.#......................", "....................#.....#.#.....................", "...................#.......#.#....................", "..................#.........#.#...................", ".................#...........#.#..................", "................#.............#.#.................", "...............#...............#.#................", "..............#.................#.#...............", ".............#...................#.#..............", "............#.....................#.#.............", "...........#.......................#.#............", "..........#.........................#.#...........", ".........#...........................#.#..........", "........#.............................#.#.........", ".......#...............................#.#........", "......#.................................#.#.......", ".....#...................................#.#......", "....#.....................................#.#.....", "...#.......................................#.#....", "..#.........................................#.#...", ".#...........................................#.#..", "#.............................................#.#.", "........................#......................#.#", "#......................#........................#." }
Returns: 24
{".#..............#.........#.......................", "#......................#........#.................", "..................#............##.................", "...........#.#......#.............................", "............#............##.......................", ".............#.#....#.............................", "...............#.#..............................#.", "..........##.#....................................", "........................#...#................#....", "...................................##.........#...", ".......#..........#............#..................", "...#...#.......................#..................", "....#..............#........................#.....", "...#.#.#..........................................", ".....................................#.#.#........", ".....##........................................#..", "#..................#...#..........................", "......#............................#..........#...", "..#.......#..................#....................", "............#...#.........#.......................", "...#.#.........................................#..", "........................#.............#......#....", ".....................................###..........", ".#..............#............#....................", "........#............#....................#.......", "....#............................#..........#.....", "#...#..............#..............................", "..............................#.....#.........#...", "........#.........................#.....#.........", "..................#....#........#.................", "...........................#............#..#......", "..#.......##......................................", ".##..........................#....................", ".........................#...........#...#........", "............................#................#...#", ".........#.......#..............................#.", ".........#.................#...............#......", "..............#.......#..........#................", ".....................##...................#.......", "..............#.......#...................#.......", "............................#.#..................#", "..............#..................#..........#.....", "........................#.............##..........", "..............................#.....#............#", "............#............#...............#........", "........#............#............#...............", ".........#.......#.........#......................", "...............#....#...........................#.", "......#............................#...........#..", "..................................#.....#..#......" }
Returns: 41
{"..#.............#............................#", "...#....................#..........#..........", "#.............#............#..................", ".#.................#.........#................", ".......#....#................#................", "........#.#.........................#.........", "..............#...........#..................#", "....#...........................#.#...........", ".....#.......#.........................#......", ".............................#...........##...", ".....#...........................#..........#.", ".............#....#.....#.....................", "....#................#....#...................", "........#..#...............................#..", "..#...#..............#........................", "....................#..#...........#..........", "#..........................#....#.............", ".........................#.......#..........#.", "...........#.........#..................#.....", "...#..........................#...........#...", "...............#......#........#..............", "............#.#...#...........................", "....................#....#...............#....", "...............#............#.#...............", ".#.........#...........................#......", ".................#....#....#..................", "......#.....#.....................#...........", "..#.............#........#....................", ".......................#.......#..........#...", "...##....#....................................", "...................#...#...........#..........", "....................#.......#............#....", ".......#........#.....................#.......", "..........#......#.....................#......", ".......#..................#...........#.......", ".#.............#..............#...............", ".....#...............................#.....#..", "....................................#...#...#.", "................................#.#..........#", "........#...............#........#............", "..................#..................#.....#..", ".........#............#........#..............", ".........#.........#........#.................", ".............#......................#...#.....", "..........#......#...................#........", "#.....#...............................#......." }
Returns: -1
{"..#.............#............................#....", "..##.........................................#....", "##..............................#.................", ".#....................#....................#......", "......#....#..................#...................", "...............#..........#...................#...", "....#....................#.........#..............", "...........................#.#..................#.", "..........#.........................#.#...........", ".............#.........................##.........", "........#..............#.......#..................", "....#.............................##..............", "..................##..#...........................", ".........#.......#................#...............", ".............................#..................##", ".....#...............#......#.....................", "#...............................#....#............", ".............#................#.........#.........", "............#.............#....................#..", "............#...........#......................#..", ".........................#.........#........#.....", "...............#...............#..............#...", "...#........#...........#.........................", "..........#.................#.......#.............", "...................#..#....................#......", "......#.............#....................#........", ".....#............#.......................#.......", ".......#.........................#.......#........", "...............#.......#.......#..................", ".......#......#.......................#...........", "....#............#................#...............", "..........#..........#......#.....................", "..#.............#......................#..........", "...........................#................#...#.", "...........#.#................#...................", "......#....#........#.............................", "........#..............#.........................#", "................#......................##.........", "........#....................#...................#", ".........#......................#....#............", ".........#.......#...................#............", ".........................#.#................#.....", "..........................#...................##..", "...#....................#....................#....", "....................#............#.......#........", "##.........................................#......", ".....#...............#....................#.......", "..................##......................#.......", ".......#......#..................#................", "..............#.....................#.#..........." }
Returns: 42
{"........#.................#......................#", "..............#.......#............#..............", "................#......#........................#.", "...............#.........#..........#.............", ".....#......#......#..............................", "....#....................#.........#..............", "........#................................#.......#", ".............#.......................#.......#....", "#.....#........................................#..", "..........#..........#.....#......................", ".........#...................#...........#........", "................#..............................##.", "....#....................#..........#.............", ".......#......................#...........#.......", ".#......................................#.....#...", "...#....................#...#.....................", "..#........#...........................#..........", "........................#...#..............#......", "........................#..................#.#....", "....#.................#............#..............", "...............................##...........#.....", ".........#...............................#.......#", ".#.................#..........................#...", "..#....................................##.........", "...............#.##...............................", "...#.#......#.....................................", "#..............................................##.", ".........#...................#........#...........", "...............#.#..................#.............", "..........#................#................#.....", ".............#.................#.....#............", "....................#.........#...#...............", "....................#.............#...#...........", ".......................................##.....#...", "...............................##....#............", ".#...#.............#..............................", "...#........#...............#.....................", ".......#......................#...#...............", "...........................#....#...........#.....", "................#......#.........#................", "..............#........#.........#................", "......#...#..........#............................", ".............#.............................#.#....", ".................##.......................#.......", "....................#........#........#...........", ".......#..........#.......................#.......", "..............#.......#..........#................", "........#..#..............#.......................", "..#........#..............#.......................", "#.....#..............#............................" }
Returns: 42