Problem Statement
Alice and Bob often play the following car racing "sim". To represent the track they take a sheet of paper, split it into square cells and make each cell either a "road" or "obstacle". Two of the "road" cells are marked as "Start" and "Finish", and the goal of the game is to move your car from the start to the finish as fast as possible.
In this paper game, the car is represented by a point, which moves in turns. At the beginning of each turn the car is located at the center of some cell, and each turn moves the car to the center of some other cell. The speed of the car is represented by a vector with integer coordinates. Each turn consist of two parts:
- Change the speed of your car, modifying the speed the car had before this turn. Each coordinate of the speed can be increased by 1, decreased by 1 or left unchanged.
- Move the car. If the car has coodinates (row, col) and its speed is (vRow, vCol), then its new coordinates will be (row + vRow, col + vCol). The car moves along the straight line between the centers of the old and new cells.
When the path of the car touches the "Finish" cell, it immediately finishes and the time it spent for the race is the number of turns it took (counting the final one). If the path of the car intersects an obstacle before it is finished, then the car crashes and can not finish the race (the car can touch obstacles, see examples for clarification). The car can not leave the grid because it will lead to disqualification. Please note that the car finishes immediately when it touches the Finish cell, and the car successfully finishes even if continuing the turn would move it outside the track or into an obstacle.
You will be given a
Definition
- Class:
- PaperRacing
- Method:
- minMoves
- Parameters:
- String[], int, int
- Returns:
- int
- Method signature:
- int minMoves(String[] track, int vRow, int vCol)
- (be sure your method is public)
Constraints
- track will contain between 1 and 50 elements, inclusive.
- Each element of track will contain between 1 and 50 characters, inclusive.
- All elements of track will contain the same number of characters.
- Each element of track will contain only '.', 'X', 'S' and 'F' characters.
- track will contain exactly one 'F' and one 'S'.
- vRow and vCol each will be between -50 and 50, inclusive.
Examples
{"S.................F"}
0
0
Returns: 6
Accelerate to the right as much as you can.
{"S.................F"}
0
8
Returns: 2
You are already fast, so you need only 2 turns to finish (and you don't care that continuing with this speed would get you away from the track).
{ "S...X....F", ".........." }
0
4
Returns: 3
{"FX", "X.", ".X", "X.", "SX"}
1
0
Returns: 8
First you need to brake, since you are moving in the wrong direction. Then, you'll need to stop every second turn.
{ "FX", "X.", ".X", "X.", "SX" }
0
0
Returns: 7
{ "S....", "XXXX.", ".....", "....F" }
0
0
Returns: 4
{ "S...X", "XXXX.", "....X", "...XF" }
0
0
Returns: 7
{ "S..", "X..", "XX.", "XXF" }
50
50
Returns: 1
{"S..X", "X..X", "XX.X", "XXFX"}
50
50
Returns: 1
If you didn't touch the finish cell, the crash would be unavoidable. Please note that the car reaches the finish if it just touches the 'F' cell, but the car's path has to go inside the obstacle for a crash.
{ "...X...F", "...X....", "...X....", "...X....", "XXXX....", "....XXXX", "....X...", "....X...", "....X...", "S...X..." }
-46
34
Returns: 1
{ "X..F", ".X..", "..X.", "S..X" }
-1
-1
Returns: 3
{"S.................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................XX", "................................................XF" }
0
0
Returns: -1
{"F.X.X", "..XXX", "X.XX.", "....X", "X..XS"}
0
0
Returns: 4
{"F.X.X", "..XXX", "X.XX.", "....X", "X..XS"}
0
-1
Returns: 4
{ "XSX", "..X", "...", "X..", "X..", "X..", ".X.", "XF.", "X..", ".XX", "X.X", "...", "...", ".X.", "..X", "...", "XX.", ".X.", "X.X", "...", "...", "X.X", "XXX", "...", ".X.", ".X.", "X..", "...", "...", "...", "X..", ".X.", "XX.", ".XX", ".X.", "...", "XXX", "XXX", "...", "X..", ".X.", "...", ".X.", "..X"}
0
2
Returns: -1
{ "XXX.....XX.X.X...X..X.X.....X.X....X.X..XX.", "X.X...XXX......XX.X......XX.X.X...X...X.X..", ".......X.........X...X..X..XX......XXXX....", "X..XXX......XX......X..X.XXXX.X......XXX...", "....X.....X..X....X....X......XX..XX.X.X.X.", ".....XX..X........X.......X.XX....X.XX.X.X.", ".XX.X.X....X..X...X..XX....X....X.X..X.....", "....X.XXX......X..X...X.X.XXX..XXX....X..XX", "...XX..XXX.XX......X.X...X.....X..X.XXXXX.X", ".XX.....X.X.......X.X.X...X.....X.X.X....X.", "XX.X......X..X.XX......X....X.X.XXXX..XXX..", ".XXX.XX.X...X....X...X.....XX....X.X..XX.X.", "...XX......X...X....X..X....X.X.X....X...X.", ".X..XX...X....X........XX.X....X...X.X.....", "..XX..X.......X........X.......X.....X...XX", "...XX.X...XX.XXX..X....X...X...X..X.X....X.", ".XX.XXX.....X..XX...X...XX.....X.X.X..XX.XX", ".X.X.X.XX...XXXX....X.X.X....X.X.X..X.XX...", "..X.X..............X..XX.X.....XXX..X.....X", "X..X..XXXXX....XXX..X..XX..XXX.X.X....X.X..", ".X...XX...X...X...X.X....XX.X..XX..X....XXX", "X..XX....X..X..X....X.XXXX..XX......XX.....", "......F...X..XX..XX..XXX.X...X.XX..X.X..X.X", "..X.X.X...X...X.......X..XXXX...X.X.X..X.X.", "XXXX.X................XX...............XXX.", ".XX.......X.X..XXXX...X.X.........X...X.XX.", ".X.........XX......X....X...XX.X.....XX.X..", ".X.XX.X....X.X.X....XX..X.X.X.X.X....X.X..X", "......XX...X...XX...XX.XX....X..XX...XX..X.", ".XX...XX......XX..X.X......XX.XXX.X.X.....X", ".X.X.XSXX....XXX....X.XXX..X...X....X.X.X..", ".X..X...XX...X..XXX..X...X.X.X.X..X...X...X", ".XXXXXXXX.XXX......XX...X...XXXX......XX...", "X.....XX..XX..X.XX........X....X..X........", ".X.XX......X.X..XX.XX.XX.....XX.X.X.......X", "....X....X..X.X..X.....X.XX.....X..X..X.X.X", "XX.X...X.X.....X.....X.XX.X.....X.X.......X", "............X.XX..X.........X.X....X.X.X...", "....X....XX.XXX.........X....XX.X...X.X....", "XX............X.....X...X......X....XXX....", "...XX.X..XXXX...XX......X.X.X...X...XXX....", "..X......X.X.XX..XX..X..XX.X.....X...XX.X..", "..X.....X.XX..XX.X.XX..XX....X......X......", "X.XX....XXX..X.XXX.X..X...X....X......X....", ".........X.XXX.XXX..X....X......X.....X..X.", "...X....X...X...X.XXX.XX.X.XXXX...X...X..XX", "X.X.X...XXX....X.....X...X..X......X..XXX.X", ".....XX...X.....X....XXX.......X.X.X......."}
4
-1
Returns: -1
{ "X..XX................X.X.XX.X.XX.", "...XXX...X........X..X.....XX..XX", ".XXX..XXX...XXX..X...X.........X.", "........XXX.X.XX.....XXXX.X.X.XXX", "..X.XX.X..XX..X.......XXX...XXX..", "X.....X.......XX..X.X.XX.......XX", "...XX.XXXX.X.X..XX.XXXXXX.X...X..", ".X.X..........XX.XX...XXXXXX..XX.", "............X..XX.XXX.XX.X....XXX", "..X.XX...X..X.XXX.XXXX....X.XXX..", "X..X.....X....X..XXX...X..XX..X.X", "....X.XXX..XX.X..XX......XXX..X..", "X.X...X...X....X......XX.XX.X..X.", ".XXX.....X.X...XX..X...X..X..X...", "XX...X......X.....XXXX.X.X...X...", "......XX...X...X.X.....XXXX....XX", ".........X..X...XXX.........X....", "XXX....X.XX..X......X..X..XX.X...", "X..XXX.X......XX.X.XX.....XX...X.", "X.X....XX........X.X..X.X........", "X..X..X.X.X..X...X.XXX.X.X.X....X", "..X.X..XXX.XX.XX.X...X...X...X.X.", "X.X.X.XXX.......X.X.X....X......X", "XX.X..XX.XX..X......X...XX..X..X.", "..X.XXX..XXX...X.XX..XX..XXSX...X", "........X..X.XX.X.X..XXX.X..F....", "XX...X.X.XX...X..X...X....XXX....", "XX.X..XX.XX..XX..XXX.....XXX...XX", "X.X.X.XXX.X..XX..XXX..XXXXX..XXX.", "X..X......X...X.......X.......XXX", ".X...X..XX..X...XX.X.X....X...X..", ".X..X.........X..X..........X....", "X.XX.XX.....X.X..X.XX.XX...X.X.XX", "XX..XX.X..X...X...XXX..XX....X...", ".......X....X...X...X......X..X.."}
-2
5
Returns: -1
{ ".XXXXX.XX...X..XXX..X....", "X....XX.X..X...S....XXXXX", "....XXX..XX..XXX.X..X..XX", "...X.......X.XX..XX.X...X", "X.X.......XX....XXX.X..X.", ".X.XX...X....XX...XX.....", "...X....X..XX.....X.X.XX.", "XX.X.X.X.......XF...X...X", "...XX.X.XXXX.........X..X", ".X........XXXX.X.....XX.."}
-4
5
Returns: -1
{ "X..X..X...X...X....X.XXXXXX", ".X..X.X..X.....XXX....X..XX", "XX..X.......F...X...X.X.X..", ".X....X.X....XXX....X..X...", "...X..X........X.........X.", "....XXX.XXX....X.X....X...X", ".XXX.X.............X....XX.", "..X....XX.....X.XX........X", ".X.X..........XXXX.XX......", "XXXXXX.......X.....X.X...X.", ".......XX...X...X...X.XXX.X", "X..............X...X.X.XX.X", "XXX.XXX.XX..X.XSX..XX..X..X", "X..X.....XX..X......X.XX...", "..X.X.XX.X....X.X........X.", ".X..XXX...XXX..X.X.........", "X......X.X...XXXXX......X.X", "......X..X..XX.XX....X.....", "X.XX.....X........X.X......", "......X...X.X.X..X..XXX....", "..X.X.X.XX...X..XX...XX....", "..X.X.......X..X.X.........", "........XX......X...X.X.X..", "..XX..XXXXX........XXX..X.."}
5
4
Returns: -1
{ "X....X.X.X...X..X.X..XX..XX.....XXX..X...X", "X............X.X...X.X..X.X...XX.X.....X..", ".X...X.X..X.XXX..X.X..XX..X..X...X.....X.X", ".X....X.X...X.....X.X...X......X...XXX....", "XX.....X.X..XXX.XXX...XX...X....XX..XX.X..", "XX..X..X..X.X.......XX...X.X.XX.X..XXX....", "...X.....X........X...............X.XXXX..", ".X..X.X.....X.XX..X.....X...X....X...X..X.", "XX..X.XXX....X.XX.X....XX...X......XXX....", "X...X.....XXX..X.............XXXXX.....XX.", "..X...X.X...XXX..XXX...XXX..XXX..XXX.X..XX", "X.XX.X.XX...X...X.X..........XX..........X", ".XXX....XX.X.X.X...X..XXX..X.X............", "......X.X..X...XX.....X.......X.X..X...X..", "....X...X.X.X.....X....X..X.X....XXX.X..X.", "X..X.X.X..X.......X.X.......X....X.XX....X", "...........XX......X.......X...XX..X.X...X", ".X..XX.X....XX.X...XXX..XX...X....X....XX.", "..XXX..X.X.......X.XX.....XX.XXXXX..XXX...", ".X....XFX..XXX.......X......XXXXXXX.X.XX..", ".X..X.X........X....XX...XXX..X.X.X...XXX.", "..X..XXX..X..XXX.X.X....X..X.......X.X.X.X", "..X......X.....X..X........XX..XX..XX.XXX.", "......X....X...XX..X.......X...X..XXX.X...", "XX...XX.XX...X...X............X.X........X", "..X.X...X.........XX....X...X...X.XXX....X", "......X.X..X...X...X..X....X.X..X..X..XX..", "..........XX...X...X.XX.XX...X.X...X....X.", "XX.X...XX.XX....XX.X......X...X.X.X.X...X.", "....X....X...XXXX...X...X...X.X....XX.XXX.", "X..XX.X.X...X...X..........X...XXX.X...X..", "...X..XXX...X...X...X.XX..X....XX.X....XX.", "....X...X.........X.....XX...X............", ".X..XX...X...XX.XX.XXX..X....X...XX.X.X.X.", "XX......XXXX...X.XX...X..X.X..S..X..X.....", "X....XX....X......X.X....XX.X..X..X...XX..", ".X...X.........X.XX....XX.........X.XX.X.X", "...X...X..X.X....X..X....X...X...........X", "XX..X.....X...X...XXX...XX.............XX.", ".X..XX..X..X.XX............XX.X.X....X....", "XXXX.XXXXX...XX.X.X......X..X.X.X...X...XX", "...X.X...X....XX...X.X.X.XX.X....X.....X..", "..X.XX....X.X.XX.X....XXX....X....X..X....", "...X.............X...X..XX....X..XX.......", "..X...XX.....X.........X...X.XX...........", "...X.XXXX..X..XXX.....X.....X.XX....X.X...", "...........XX.X.X.X...X........XXX...X...X", "........X.X....XXXX....XX.....X.X......XX.", "XXXXX.X.X....XX........XXX..X......XX..XX."}
1
4
Returns: -1
{ "..XX..XXX.X........X.....X..XX..X.....XF......", "X.......XXX.SX.X.X..X...X...XXX..XX.X..XXX....", "..X....X.........XX.X..X...XXXXXX.X..X.X...XX.", ".......XX.X.....X..X.......X..XX....X.........", "XX..XX.X..XX...XX.XX.XX.X....X.XX........XX.X.", "......X.XXX...X..X.XX.X...X.....X.........X...", ".XX....X..XX..XXX..X......XX.....X.....X..X.XX", "...X..........XX.....XXXXX.......X.X..XXX..XX.", "...X.X......X...XXX.......XX...XX....X...X..X.", "...XXXX.X....X...X..X....XXX..X.XX......X.X.X.", "X.XXXX..XXX.X..XXX.....X....X.......XX.....X..", ".........XX....XX......X.XX.XX..X.....X...X.X.", "XXX..........XX...X...........X.XXX.....XX....", ".......XX..........X..XX......X.XX....X.......", "X..XX.X......X.X.XX..X.X.X.X.....XXX...XXX.XXX", "X..X...X.........X.....X.X.X..X.....XX....X...", "..XX.XX..X...XX...X.X.....X..XXX..X..X..X.X.XX", "X.X.XX.....X.XX...X......XX.X.....XXX.X...X.X.", "X......X.XX...XX..X...XX..XX..X.XX.X..X...XX.X", "........XX.X.....X...X.X.....XX..X...XX.XX...X", "......X..X..X.....X..X..X...X.XX.XX.XX..X..X..", ".......XX..X.....X......XXX...X.XXX.X..XX..X.X"}
0
-2
Returns: 15
{ "F.X.", "...X", "....", "X.X.", "X...", "..X.", "..XX", "...X", ".X.X", "X.XX", "..XX", "XXXX", ".X..", "....", "....", "..X.", "....", ".X..", "X...", ".X..", "....", "XX.X", "...X", "..XX", "..X.", "XX..", "..X.", "..X.", "X...", "....", "..X.", ".XX.", "X...", ".X..", "X...", "XX..", "..XX", ".X..", "....", "X.SX"}
-4
2
Returns: -1
{ "....XXX..X.........S....X....XXX.X..X...X.XF..X."}
-1
-2
Returns: -1
{ "X.X...XX..", ".X....XX..", "X.....X...", "X..XX....X", "X.X.F..XXX", "....X...X.", ".X..XX.XXX", "...S....X.", ".X.....X..", "XX...X.X..", "X..X..X.X.", "..XXXXX...", "...X.X..X.", ".........X", "..X.X.X..X", ".....X..XX", "XX...X.X.X"}
-4
3
Returns: -1
{ "...XS.....X...", "...X....X.X.X.", "XX.X...XXXX...", "X.XX...X..XX.X", ".X.....XX.X..X", "X...X.X.......", ".....XX..X.X.X", ".X..XXX.X...X.", "..F.XXX......X", "X..X...XXXX.X."}
-5
0
Returns: -1
{ "XXXXXX.X.....X..XX", ".X....XXX......X..", "XX....X..X.XX.....", "..X.X.X..X..X.XX..", ".X.X.....X.XX..XX.", "...X...XX....XXXX.", "XX.X..X.XXX.......", ".X.X..X..X.XXX...X", "X.X...XX....XX..X.", "XX.XX.....XX.X....", "XX.XX.....X.X.....", "X.................", "XXXXXX.X.XXX......", "X..XXX.XXX..X.X...", "....XX..X.X..X..XX", "XX.X...X..X..X....", "X.......XX...XX...", ".X......X.XX....X.", ".....XX...XSX.X.X.", "XX..X...X..X.XX.XX", "X....X..XXX....X.X", ".X.X.XX...XXXXXX.F", "..XXXXX.XX...X....", ".X..X........X..XX", "........XX....XX.X", "...XX.X.XX..X.X.XX", "....X...X.X....X..", ".XXX.X..XX.....X.X", ".....XX..X.XX...X.", "X.X..XX....X...X.X", "....XX..XX.X.X..XX", "...........X.X....", ".XX.X..X.XX.X.X..X", ".XX.XXXX......X...", "XX.XX.........XX.X", "XX.X....X.....X..X", "......XXXX...X.X.X", "...X....X...X..X..", "...X.X..X...XX....", "..X...XX..X.....X.", "X...X..X...XXXX...", ".XX......X.X.X....", ".X.......X...X....", "X........X.X.XX...", ".X..X..X...X....X.", ".XX....X..X.XX....", ".X.......X.XX.X...", "X......X.X..X..X..", ".X..........X.X.X."}
-4
-4
Returns: -1
{ "X.X..X..XXXX.......XX.XX....XX...X", ".X.XX.X..XX.....XXXX.X.X...XX....X", ".X......XX...........X....X....XXX", "...X.X...XX....X..XX......X....XXX", ".X..X....XX.X......X..X.X.X.X.....", ".....X.X..XX..X..X..XXX.X.X.....X.", "..X..XX.X.X.........X.X..X..XXXX..", "..XX.......X.....XXXX.XX...X.X.X.X", ".X...X.....X..X..XX.XX..XX.......X", "XX.X.....X........XXX..XX...XX....", "X....X.X..X..X....X....XX.X..X.X..", "FX...XXX.X...X.XXX..........X..XX.", "...X...X.X..XX.X...X..X.XXXX..X...", "...XX.........X..X....X..XX....XX.", "...XX....XXXX.X...XX...X..X.....XX", "X...XX...XX..X...X.....X.X.XXX.X..", "....X......X.X...XX.XX.....X..X...", "X....X.....XXX.......X...XX..X..XX", "X....X.....X..........X.XX........", "X...XX........X.X......XX........X", "X..X.XXXXX.X.XX...XX.X........X..X", "X.X..X.XX.X.X.XXX.....X.X.X..XXXX.", "XX.X...X..X.X..XX........X.X...X.X", "....X.X...X...............X.XX...X", "XXX.X...XX.X.XX.X.....X..XX..XXX.X", "..X.....X....XX...X....X.XXX.X..XX", "X....XX.X.X..XX.X.X..XXX......X.X.", "...X.X..XX.X.X.X.XX....XXX..XX....", ".......X..X...XX..X.XX..X..X......", "X..X.X..X.X....XX..............X.X", "............X..XXX.X.X.X...XX.X.XX", ".XX.X..X.....X.X..XX..X.X.X..X..X.", "S.XXX.X..XX.......XX..X....XX....X", ".XX...X.X..XX.X.....X.....XX.X..X.", ".....X....X.XX..XX......X....X....", "XX...XX....XX.XXX.......XXX.XX..XX"}
3
2
Returns: -1
{ "X..XX.XX.....X", ".X...X.X....X.", "X.....X..X...X", ".XXX..XX..X.XX", ".X.XX.XFXXX...", "X...XX.X..XX..", "X.XX.X.X....X.", ".......XX.....", "XXXX.....XX...", "X.....X...XX..", ".X.....X......", "XXXX..........", "XX..XX...X.X.X", "....X.XX.X...X", ".........X.X..", ".X....XXX.....", "....X....X..X.", "X.XX..XX.X....", "...XXX.X......", "..X.XXXX...X.X", "..X.X........X", ".............X", "......X...X...", "..X.....X..XXX", "..........X...", "....X....XXX..", "X....X.X......", "X....X.....X..", "X.X.........XX", "...XX..XX...X.", "......XX.X..X.", "....X.X...X.X.", "...X.......XXX", ".XX.XXXX.XX..X", ".XX.SX.X.X.X..", "...XX.XXXXX.X.", "...X.X..XXX.X.", "X..XXXX.X....X", "..X....X.....X"}
-1
-4
Returns: -1
{ "....X.X.......X....X....X..F.", ".XX.X...X.......XXX.XX...X...", ".X..S......X..X..X.....XX....", "......X..X.X.X.X..X.X.....X..", "X..X..X..X...X.....XXX..XX..X", ".X.XX.X..X...XX.X.X...X..X.X.", "X.XXXXX....X.......X....X.XX.", ".X.X..XX.....X.X...XXX....X.X", ".XXX.X...X.X......X.X.......X", ".X..XX..X......XX...X....X...", "...X.XXXXX.......X.X......X..", "X......X...X..X...X...X......"}
-5
1
Returns: -1
{ "X...X...X....XXX..", "....X..X.XX.XX.X..", "........X..X.X....", "..X..X.X..XX..X...", "X......XXX..X...XX", "....X...XXX..X....", "..X..S.X..X.......", "X.X.X..XX..X..X..X", "X.XX....X.X....X..", "....XX..X.XX......", "..X...X..XX.....X.", "....XXXXX.X..X...X", ".......X.X.XXX.X..", "XXX...XXX..X..X...", "....XX.X.X...X.XXX", ".X....XX.XX.......", ".....X...XX.....X.", "......X.X.........", "......X...XXXX..X.", "X.X...X.FX......X.", "..X.X.X......XXXXX", "X.X.......X.....X.", "..X...X.X.XX....X.", ".X.XXXX.X....XX...", "X.X........X.X.X.X", ".....XX..X........", ".X...X.X......X.X.", "......X..XX.......", "...X.XX..XXX.X...X", "..X..XX..XX..X....", ".XX..X.XX.XXXX....", ".X.X......X..X....", ".X....X......X.X..", ".X...X....X..XX.X."}
3
0
Returns: 9
{ ".....X..X", "X.X....X.", ".........", "X..X..XX.", ".XXX.XX..", "..FXX.X..", "...X...XX", ".....X...", "XX.......", "X..X...X.", ".XX.XXX..", "X...X.X.X", "X......X.", "..X......", "...X..X..", "...X..X..", "SX.XXXX.X", "X.X...XX.", "......XXX", ".....X...", ".XX..XX.X", ".....X.XX", ".XX......", ".XX......", "..XXXX...", "X.X..XX..", ".....X...", "X...XXX..", "XX......X", ".....X...", ".XXXX..XX", ".X..X.XXX", "......X.X", ".XX...X..", ".X...X...", "X...X...X", ".XX.X.XXX", "XX.X....X", ".X...XXX.", "X.X......", "X....X..X", "X........", "..X.XX.XX", "..X.X....", "....XX.X.", ".X.XXX.X.", ".X......X", "...X....X", "...XXX...", ".XX.....X"}
1
5
Returns: -1
{ "..X....X.X...S.....X...XX", "..X.X...XXX....FX...X..XX"}
-2
-3
Returns: -1
{ ".X.XX.....X.XX.X.XX.X.S..X..XX", ".X.X.X......XX..XX.X...X...X.X", "...XX.........X........X.XX..X", "......XX.....X..X.XXX...X.....", "X..XX.XX..........XX........X.", "........X...X..F...X......X..X", "X.XX.XX.........X.X.X.X..XXX.X", ".XXXXXX...XX...X...X......X.X.", "XX.XXX...X.X.X....X...X...XX.X", "..XXX...XX..XXXX.XXX.........X", ".X..X.......X....X....X.....X."}
-1
-2
Returns: 6
{ "XX.XXX..", "...XX...", ".X....XX", "......X.", "...X....", "XXX.X...", ".X..XX..", "X.XXXXX.", "........", "F...XXXX", "X.XXX...", ".X.X....", ".X.X....", "X.XX.S.."}
-2
-1
Returns: -1
{ "...", "X..", "XX.", "...", "...", "...", ".X.", "X.X", "...", "FS."}
7
2
Returns: -1
{ "XF.", "..X", "SX.", "XX.", "X.X"}
-5
0
Returns: -1
{ "...FX.X.....X.XXX.X...", "XSXXX....X.........X.X"}
-2
9
Returns: -1
{ "...X........X.X..X.X...X..", ".XX.XX.....XXX..X.X...XXXX", "...........X......X..X....", ".XX.X.X...X.....X.X...X...", "..XXX......XXX..XX.X.X..X.", ".X......X..X.XX..X.X.X.XX.", "X.....XXX...XXX.X..X......", "F..X...X..XX.X............", "X.X..S.........X.X.XX.X...", ".....X......X..X..........", "X......X..XX..X...XX.XX...", ".X.....XX.XX.....X.X.XX...", "......X....X.X.....X.X.X..", "X....X....X...X.XXX.XX.X.X", "......X.X....X.XXXX.X....X", ".XX.X...XX.....X.X...X..XX", "............XX.XXX...X..X.", "...XXXX.X.XX.X.....X...XX.", "X..X..XX.X.XX....X.X.X.XXX", "....X...XXX..X...XX....X.X", "XX.......X.X...........XX.", ".....XXX..XXX.X..........."}
6
-15
Returns: -1
{ "...X.X..X..X.X..X......X.X.X.X.F..X.X.", ".....X..X...XX.X.XXX...X....X.....XX.X", ".X...XX......XXXX.........X...XX.X...X", "..XX.....X..X..X....X.....X.X.XX.X..X.", "XX.X..X.X.XX.XXX......X..X..X..XXX...X", "..XX...X.XX........XX...X......X.X..XX", "X...X......X....X..XX.X.XXX..X....XX.X", "XXX.....X.....X.......X....X...X..XX..", "..XX....XX..XXXX..X..X.X..X..X.X....X.", "XX.X.X.....X....X....XXX...XX.XX.XX...", "...XXX..X..X....X..X.X.....X.X.....X.X", ".XX...X....X..X......X...X..X..X......", "X.X.....X..X..X...X....XX.....X.X....X", "...X....X..XXX...XXX..XXX....X..XXX.X.", "..X........X....XX...X..X.XXX....X...X", "X...XXX..XX..XX...X.....X.X.......X.X.", "....XX.XXXX..XX.X....X.X.X..X.XX.....X", ".XXXX...XXX.X....X......X...XX.X.X.X..", ".XX......X.....XX.........X..XXX.X.X..", "....XX..X.X.X...X.....X....XXXX.X..X..", ".....X..XX........X...X.XXX..XX.....XX", ".X.X.X.X.XX.X.X...X..XXX.....X.X....X.", "X.X..XXXX........X..X..XX.X...XX...XXX", "XX........XX.XXX..XX..X...XXX.X......X", ".....XXX.X..X..XX..X.X..XXXX.X..XX....", "X.X.....X........XX.XX.X......XX..X...", "X..X..X.XXX.X...XX.XX..X.X.X..XX.X...X", "X.XX.......XXXX.X...X...X.XX...XXX....", "...X..XX....XX.....XXXXXXX.....X.....X", ".X.X.X...X..XXX.....XXX.XXXX.XX..X..X.", "X.X.....XX....XX.XX..XX..X..X.X...X...", "XX.X.X....XX.....XX..X..X...X..XX..X.X", ".XXX..XX..X...X......XX.......X.XX....", "..XX.....XX.XX...........X......XX....", "X.XX...X....X..X..XX...XX...X.....XX..", "...XX..X.X.X.......XXX.X..........X.X.", "..X..X.XX......XX.X......X.X..XX..XXXX", "X....XX..X...XXX.X........X..XX.......", "..XX..X.X.X....X.X..X.....X........X..", "..X......XX..XXX......X.X.XXX....XX..X", ".XX......X.......X.XXXXX..X...XXX.X.XX", "X.X.X.....X.X...X...XX.X.X..X........X", "X...XX.XX...X..XX....X.X...X....X..X..", "X.........X....X.XX..X...X...X...X....", "..XXX.XX.X...X.X.......X...XX.XXX...XX", "X..........X..X...XX.....X..........XS", ".................X..X.....X......X..XX"}
6
17
Returns: -1
{ ".....X..X.X.XXXX.X..X.....XXXX.X.....X..X.....X", "...X....X.....XX.X.X..X......XX..X..X.XXX.X.X..", "...XX.XX.....X.X..XX........XXXX.....X..XX.X..X", "X.X........XX.X..XX.XXX.X.X.......XX...XX.XXX..", "...XXX.X.X..X....XX..XX.X.X.X....XX...X.S.X....", "XXXX..X..XXXX.X..X...XX.X....XXXXX...X...F..XX.", "..X..X..X...X....X.X...XX.X......X.XX...XX..X.X"}
1
43
Returns: -1
{ "X.X.X....X....X.............X...X.XXX...X....", ".X......X..X.........X..X..X.X...X..X.....X..", ".X.XXXX.....X.....X.X.X.X............X..X....", ".XX..X....X...X.....X.....X.X......X.....XX..", ".......X.........X.X..X...X.XX...X...XX...XX.", ".X..X.XX..............X..X...XXXX....X.XX.X..", "X.........X....X......X..X.X.X.....XX..X.X.X.", "X.XXX.X.....X.....XXXXX..X.XX.X..X..XXX......", ".X...X...........XX....X.X.XX....X..X......X.", ".X..X.......X.X.X....XX.....XXX....X.XXXX....", ".XX.XX...X...X.X..X..XX......X...XX...X.XXX..", "..X....XX....X.X.X.XX......X.X..XX.X...X.....", "X.....XX.X.X...X.XX..XXX..X.X..X...XX..XX....", ".XXX..X......X....X...XX...S....X.X.X..X.....", ".XX..XX.X..XX.....X.X..X..X.X..XXXX..X..XXXX.", ".X.X........X...X.XX.X.XX.X.....XXX...X....X.", "..X.X..XXX.....X........X.XX..X......XX.....X", "X..X..X.X..X.X..X.X.....X..X...X.X.......XXX.", "..XX.XX..X.X....X......X.X......XX...........", "...XXXX........X....X......X..X..X....XX.....", "...XX..XX.X..XXX...X.X..X.X........X....X.X.X", ".X......X....XX......X....X...........X.X..XX", ".............X...XXXX.XX.....XXX..X.....X....", "X..X.....X....XXX...X...X.....XXX..X...X..XXX", ".X..X..X.....X...X.X.XX..XXX.X..X.X...X..X.X.", ".X..X.X.X.......XX..X......X.X...X....X.XX...", "XXXX.X..X.X....X...X...XX..XX....XX...XX...XX", "X.X..XX.XX..XX....X.......X.X.X...X.X.....X..", ".X...XX.X....X....X.....XX....XX..X.X.XXX....", "....XXX..X..XX.X......X.X...X.X......X...XF.X", "XXXX.X.X...........X..X.X.X..X......X.X......", "..X....X.X..X.X...XX.X.X.........X.....X...X.", "...X....X.....XX.X..XXX.XX...XXX.......X..XX.", "..XX.X........XX...X..X....XXX..X............", ".X.X..XXX.........X........X......XX.X.......", "XX.....X..X.XX..XX.X.XX...XXXX.XX...X...X....", "XX..X...XX.XX......X......XXXXX.XXX....X...X.", "..XX.X...........X.XXXX..XX.......X.X........", ".......XX...XX..........X..X.......X...X..XXX", "....X...XX.....XX.XXXX.X..X..X.X..X....X..X.X", "..X.X......X......XX....X..XX..........XX..XX", ".XX........X.X..X.XX.XXX.XX....X...XX........"}
41
-36
Returns: -1
{ "X.XXX..X.XX.X....", ".XXX..X......XX..", ".........X......X", ".X....X.....X.X.X", "....XX..XXXX...XX", "...X..XX...XX.XX.", "X..X.....X..X..X.", ".XX..XX.X.X.X...X", ".X.X....X.....X..", ".X.X..X...X..XX..", "...X..X..XX....XX", "XX..X.X...XXXXX.X", ".X.......XX.....X", ".XX.X.X...X...X..", "X..........X..X..", ".....X..X....XF..", "XXX..X....X.X....", "X..X.XX......S.X.", "....XX.XXXX....X.", ".X.XXX..X.XX.X...", ".X....X..XX.X...X", "X...X..XX.X.X....", "...X....XX....X..", "X..XXX.XX..XXX..X", ".X.XX.....X..XXX.", "..XXX...XX.X..X..", ".......X....X..X.", ".X.X.X.XX.X.X....", "XX.....X.....X...", "..XX.X...XXX..X.X", ".X.X....XX...X..X", ".X.X....XXXX.XX..", "X..X.....X.X.....", ".......X.......XX", ".X.X.........XX..", "X........X.X.....", ".X.....XX..X.....", ".X.XX.X..X...XX..", ".X...X.X..X.....X", "...X.XX..X....X..", ".X..X......X.X.X.", "..X..............", ".X.....X....X..X.", "XX..X.....X.X..X.", ".XXXX.X...X......"}
18
-6
Returns: -1
{ "........X.X.X....XX.X", "XXXX....XXX...XX.X...", "..X...X.X.XX...X.X.X.", ".X...X.X.....X..X.X..", ".XX.X.X............X.", "..X.X.....X....XX.X.X", "X....XX.....X.XX...X.", "X.X......X.X......XX.", "XXX..XX.X...X.XXX.X..", "X..X.XX.....X..X..X..", "..X......XX.X.X.XXX..", ".XX.X.X....X.......X.", "X..X.X..X.....X.X..X.", "...X........S....X...", ".X...X......XX..X..X.", ".X.X..X.X..X.......XX", "X..X....X.X.X.XX..X..", "XX..X.....X.......X.X", "..X.....X.XFX..X.X.X.", "XX..X......X.X.......", "X.....X....X.......XX", "....X...X......XX...X", "X....X....XXX.XX.X..X", ".XXXX....X.X...XX....", "XX.....X...XX.......X", ".X......X....XX....X."}
-8
-12
Returns: -1
{ "..XXXXXXX..X...........X.XXXX....XX...X.", "XX...X.X.XX..X..XXX..X...X........X...XX", ".....X......X..XXX......X.X....X.XXXX.X.", ".XX.X.X..X...X.X..........X.X....X..XX.X", ".......X.X.XXX...X.....XX....X..X...X...", "..X.....XX.X..X.....XXX...X.....X...XX..", "XX.....X......X...X..X.X.XXXX.....X.X...", ".X..XXX.....X.........X.X.......X......X", "...X.X.X....XX.XX.X.XXX.X.....X..XXX.X.X", "X.XX.X...X.XXXXXX..X..X........X.X......", "X.X...X....X...X....X........X....XXX..X", "..XX....X.X.XX..X..........X....XXX.....", "XX...X..X....X....X.X.X.XX..X.......XXXX", "X......X.XX..X.X.XX..XX.....X...X.X...X.", ".X.X.X..XX..XXX..X..X.....X.........X...", "X..X.....XX.X.X..X..XX..X..XX..X.X......", "X.....X..X.....XX...X.X...X.........X...", ".X......X....XX.X.X..XX.....X...XX......", "XX..XXXX.X..XXX...XX.XX...X....X.....X..", "XX..XX....X.X.XX.X.X.XX.X.XX..X.X..X.XX.", ".......XX.X....XXXX.X..X.X.X.XX.X....XX.", "....XX..X........X.X..X...X..X.X....X..X", "...X.X.X.X....XX..X......X..XXX.XX.X..XX", "...XX.XXX......XX...X......XX..........X", "...X....X..X...XX.......X..XX.....X....X", "XXX.XX....X.....X..X.X.XXX.X..X..X.X..XX", "XX...X......X......X.X.X...XXX....X.X...", "....XXX........XX....X..X...X.X.....X.X.", "XXX..X..X..X.XX....X.X.X.XX..X.X.XXXXX..", ".X...X.X..XX.X...X..X.X.....XX...X..X...", "...X..X..X.X.......XX...XXX.XX.X.......X", "X.XX.XX..XXXXX......X....X.X..XXX.XX.X.X", "X.........X....XXX....X.X..X.X..X...XX.X", "......X...X.X..XX...XX.X.X....XX.X.XX...", "X.....X...XXX......X..........X...X.X.X.", "X..XX.X..XX.XX...XX..XXX.XXXXX..XXXX....", "X.X.....X..X...XX.X.X.X.XX....X..X..X.X.", "X..XXX.XXX..XXXXXXX..X.XX..XXX.X.......X", "..XX.XXX....X......X.X....XXX..XX...X...", "..X....X..X...X.X...X...X..XX..XXX.X..X.", "X..XXXX..X.X....XX.S....X...X.X........X", "..X.XXX.....X...X..........X.XX.X.X....X", "X........X..XX.....X.....XXXXXXXX.X...X.", "XX.X...X......XX........XXX....X....X.XX", "....X.X.X...XX...X.XF.XXXX.XX.XXX...X..X", "X...XX...X...X.............XXX.....X.XXX", "XX..X..X.X.XXX.....XXXXXX..X..X.X.......", ".X....X..XX...X........XXXXX.X.....X...X", ".....X........X..X.X.X.X..X....X....X..X", "XX....XX..X..X.XX..X..........X.X.X.XXX."}
13
29
Returns: -1
{ "X.X..XXX...XX...X.X...X.X...XX.X.X........X.X.X.XX", "X.XXX.XX...X...XXX.XX...X......X.X....X...XX...X..", "......XX.XX.X...X.XX......XXXX..X.........X..XX...", "X...XX.X.....X..XXX.X.X.XXXX.X....XX.XXX..........", "...XX.XXX.....X...X..X.X.X..X.X.X.X..X.XX.X.XXX...", ".XX.XX.XX....X..X..X...XX.XX...XX...X.XXX.....X...", "XX......X.XX....XX....X.....X..........XX..XX.X...", "X.X.XXX.........X..X....X....X.....X...........X.X", ".XXXX...X........X.X...X.XXXX...X...X....X.X..X.XX", "XX.X.XXX...XX.X......XXX.X..XX.X.XX.X.....X.X.....", "X....XX...X.X..X.........XX...XX.X....X......X....", "X...X.....X..X.XX.X..X.XX.X.X......X.X....XX.X...X", ".XX.X..X..X.X..XX...X........XX......XXXX..X...X.X", ".......X.....X...XX.XX.X.....X........X.XX.X..X.XX", "..X.X..X..X.X...X.X...X..X..X..XX.......X..X.X.X..", ".X.X....XXX.XX...X.....X.XX.........X..X....X..X.X", "X.X....X.X........X.X.....X....XXXX.....XXX.XXX...", ".X.X..X...X.X.X.X....X....X...XX.X...X.X..X......X", "X.X..XX...X.X.X......X....X....X......X....X...XX.", "X.........XX.XXX.....X.X..X..X.XX....XX.X..X...XX.", ".X....X..X..XX..X..XX..X.XXX...X.X.....X.X...XX.X.", "....X.X.XXXX.X...X..X.X...XX..X...............XX.X", ".XXX...X..XX.X.X.X.X...X.X...X.....X..X.....X....X", ".XX.XX..XXX.XX..X..X.XXX.X..X.X.XX...XXXX.XX......", "X.X..X...X..X..X.X.X.......X...X..X...XX...X.X....", ".X................XX..X.X...X....X.X.......X..XX..", "XXX..........X.XX....XX....X.X.X..XX..XXX.XXXXXXX.", ".......X...X.XXXX......X.XX.XX...X....X.X..X......", ".X.....X.XX.XX..X.......X...XX...X.X..XXX..X....XX", "..XX..X....X...X.X.XXX...X..X.X.XX..X..X..XX.X.XX.", "....X..X..XX...X..X.XXX.X............X..XX...XX...", "....X..X..X.X......X..X.X.........X...X.X..XX.....", "........X..X.X..XX.X.X..XX........X......X.X..X..X", ".XX.X..X.XXX.XXX..X...X....X.X.XX.X.X.XXX..XX..X..", ".X.....XXXX....XXX.X....XX.X..X.X.XX.X......XXX...", "XX..X..XXXXXX.X...X.....X.X...X...X...X.X...X.X.XX", ".X..X..X.X.XX....X.X.....XX..XX.X...X.....X..XXXXX", ".......X.X...X.....XX.XX...X..X....X.....X.XX..X..", ".X..X...XX.X......X....X...XX..XXX.....XXXX....XXX", "X.X...X..XXX.XX..X.X.....X...X.X..X..X...X........", "..X.XX..XXXXXX.X......X.X......X...XX..X.X...XX.X.", "..........X........X...XXXX.X.X..X...X....XXX....X", "X..X..XXX.....X.XX.....X.XXXXX.XX....XXX.....X.XXX", ".......XXX..XX...X..X...XXX.XX.XX...X..X...XX...X.", ".X.X...XX.....X....XX.X.....X..X..X.....X..XX.X.X.", "X..XXX...XXXXX.....X..X.X.XX...........XXX.......X", "X.XX...S.XX.XX.XXX....XXX.X.XXX..X.XXXXX..X.....X.", "X...X.XXX....X......XX.FXX.....X.X.X.X..X..XX.X..X", ".XX...X......XXXX....X..X........X....X.X.X..X..X.", ".............XX...X...XX.XX...X..X...X.X.X........"}
2
3
Returns: -1
{ ".X......X...X....X.....XX.X.X.XX.X.....X..X..X....", "X..X..X......XX.X.XX.XX..X.........X...X..........", "XXX.....X....X.X.X....X.....X...X.X......XXX.XX...", "XX..........XX.........X..X.......X.X.X.....XXXX..", ".X...X....XX.X.X....X.XX.X.........X.X.X.XXX..X...", ".X.X..XXX..XX.....X..X.XX....X..X.X....XXX..XXXX.X", ".X.XX.X.X..X....X.....X........X.....X....X.X.....", "XX....X..XX.X..X...X..X.....X.X.....X.XXX.......X.", ".XX........X...X.XX..X..X.X.........XX.X.XX..X.X..", "X.XXX.......X.......X...X...XXX...XX....X....X....", "..XX..XX.X...X...X.X.XX.X....XX.XX.XS...X..XXX....", ".X.XX.X....XX....X...X..XX...........X....X.X..XXX", "..X.......X....XX.X..X.....X..X.X.XX...X..X.X.....", "....X..XXXXXX....X.XX......XXXX..X..X..X.XX.X.XXXX", "X..X..XX.X.X...XX..X........X.X..X...X..X...X.....", "..XXXX.X.XX.XX...XX.X..XXX...XXX......X...X.X...X.", "XXX.XX.....X..X..XX.X..X....X.XX....XX.XX..XX...X.", ".......X....X........X.X...XX...XXX...X....X......", "...XX.X.......X...........X.XX...X......X..XX.XX..", ".XX...X.XXXXXXXX.X.X..XXXX...X.XXX.X.X...XXX...X.X", "X.....X....X..XXX.....X...XX..X..XXX...........X..", ".....X..XXX...X.X...X......X..XXX.....X.X....XX...", ".....XXX...X..X....X...X..X..XXX.XXX.....XXX...X..", "...XX..X.F...XXX.....X.....X.X....XX..X.......X..X", ".XX....X.X...X.X..XX.......X.X.....XXX.X......X...", ".X...XX.....X.X...X......XX..X...X.XXX..X.X...XX.X", "X..XXXX..XXX..X..XX.........XX..XX...XX.X....X..XX", "..X..XX.X..XX.X...X.X..X.X......XX..X.X.X.X.X.....", "......XX.XX..X......X.XX.X.X.X....XXXX...XX..XXX.X", "XX.X..XXX..X..X.X.X.XX....X.....XX.XX..XX.X.X.XX..", ".....XX..X.........XX..X..X..X...X.....XX.........", "X............XX.XX.X........X....X.X.X....XX..XXX.", "...X....XX.XX.X.XX.X..X.X.....X...X.........XXX..X", "XX..X.XX....XX.....X......XX..X....XX..XX..X.XX.X.", ".XX...X.XX.........X..X.XX..X.....X......X..X...XX", ".X.XXXX.........XXX.X...X.XX.X.......X..XX......XX", ".XX.X.X.X.XX....X....X.....XX....X.X...X.......XX.", ".....XXX..XX...X..XXX.X.X.X.X...XX....X......X.XXX", ".X..XX.X.X...XX.X.....X.......X..X...X..XX.X.X..XX", ".X.X.X..X..X.....XX..X.....XXX.X.X.X.X..X..XX.XXX.", ".............X...X.....X...XX..XX.........X.X.....", ".....X.X....X.XX..XXX..X.X..X.X....XXX.X...X.X....", "X..........X.............X..X.X..X.XXX..X...X..X..", "....X...XX...........X..X.X..XX..........X...XX.X.", "....X...X.X...X..X..X.....X..XX.X........XXX.X.XXX", "XX..X.X......XXXX.X.X.X....XX.......X...X....X...X", "....X..XXX.XXX.X.XXX....XX.XXXX..X.X.XX.XX....X.X.", "..X....XX...XX.X...X..XX..X..X..X..X.........X...X", ".X.....X.X.XX....X......X.X.X.X....X...X..........", "X.XX....X......XX.X..X....XXXXX....X.X....X...X.X."}
-3
1
Returns: -1
{ ".......XX...XX.X..X.X...X.XX.....X.X.....X.X..XXXX", "......XX.....X....X..X.....X.XX.X..XX.....XXX....X", "..XX....X...X..X...X.....X.....X.XX......X...X.X..", "..XX..X....XXXX..X.X.XX.X.X..XX......X..X....X.X.X", "XX...XX..X.X.XX.....X.X....X....X.X.....XX..XX.X.X", ".X..X.X......XXX...X.XX..X.X...X....X.XX.X..X.X.X.", "............X.....X.X....X.X.X..X..XXXX.X..X...XX.", "X..X..XX.X.....X..XX..XXX....X...X...XX..X.XXXX.XX", "XX..XXX........XXXX.X.X...X....X..X.....X.XX.X...X", ".X......X..XXXX......XX.FXX....X...XX....X...XX...", "...X.......XX.XXX.X...XX....XX.XX.....X..X........", ".......XXX.X..X...X..X....XX.X.......X.X.X...XX.X.", "...X....X.X..X..XX...X.XX.X.XX..X...X..XX.XX...X..", ".XX.XX..XX...X..X....X.X....X.X...X..X..X.XX.X.XXX", ".......X....X.XXXX.X...........X.X.X....X....X.XXX", ".X.X..X.XX......X..X..XXX..X.....X.X......X...X.XX", "X.X.XX...XXX...XX..XX.X.XX........X..X.X..XX.X.X.X", "..XX...XX.X.X.X.................X..XX..X...XXX.X..", ".X.XX.XXX....X...X......X.X.....X.......X...X.....", "XXX....X.X..X....XX.....X....X....X.....XXS.XX..X.", "XX..XXX..X...XXX.....XXXXX.......XX.X...XX...X....", "...X..X.X.X..X.X.XX...XX..X..X.X.X....XXX...XX...X", "...X.X.X.X.X...X.XXX..X........XX.X........XX.X...", "XX........XX....XXX........XXX...X.X.X..XX.XXX....", "......X.X.....X.......X.X..XX.XXX.X.XX.X.X......X.", ".....XX.XX..XX.X..XXX...X.....X..X...X.....X...X.X", ".X......X..X.....X...XX.X..X..X.X.XX....X...X..X..", "....X...X......X..X...X....X....XX...X.X....XX..X.", ".X...X..XXX.X..X....XX.XX..X..X...XX..XX.XX..X...X", "......XX.X.....X...XX..X..X..XXXXXX...X.XXX.XX.X.X", ".XX........X...XX..X..X.......XX.....X.XX...XX.X.X", ".X..X................X.XX.X.X.....XX.X...XX.XX....", ".X..X.X.XXXX.....XXX.....XXXX.......X..X...X..XX.X", "...XX...XX.X..X.XX..X..X..X...X.....XX..........X.", "X.....X.....X...X...X.XX.....X..XX...X.......X....", ".............X..X..X......X.XX....XX......X.X..XX.", "..XX..X.XX..XX...X.X...X.X....X..X.X.......X..X.X.", "..X......X.XX......X..XX.X..X.X.X.X......X...X..X.", "X.XX.X.XX.X....X....X.X.X.X.X..X..X....X.....X....", "X....XXXX.....X.X...............XX...X......X...XX", "X.X..X.XXXX.X..X..X.X.X.X.....X..X.X.XX..X........", ".XX...X.XXX.XX.X.......X......X......X....X.X..XXX", "....X...X....XX...X....XXX...........X.XX.XX......", "......XX....X.X.X..XXXXX.....XX...X.X...X..XX..X..", "...XXX..X....X.X.X.X...XX.XX..X.X.X....X.....XX.XX", "X.....XXX...X...X...X......X.XXXXXX..X..X.XXXXXX..", "X.XXXX....X..X..X..XXX......X.X..........X..X...X.", "X....XX.X.X.X..X.........XXX....X..XX..X.....X.X..", ".X.......X..X.X....X..XX.X....X...X.XX....XXX.XX.X", ".X.....XXX.XXX....XXX.X.XX.X.X........X.XXXXXX..X."}
2
0
Returns: 13
{ "X..............X.X.XX....XX.X...X.X..X.X....XX.XX.", ".XX.X.X...X..XXXXXXXXX.......X..X........X.....XX.", ".X..X........X.XXX.XX...XX.XX.X....X.X.X.X....X...", "X...X...X..X...XX....XX.X.......X...XX..X....XX...", ".X.X..X.........X..X.X..X....XXX..........X.......", ".XX..X..X.XX...X..XX.....X......X.X.....X.........", "X...X...X.X..X.....XXXX.XX..X.X...XX....XX.X....X.", "XX..X.X...X....X.X........X..XX...X.XXX..X...X.XX.", "X..X.....XX.X.XXXXX.X..X....XX.X.X.XXX..........XX", ".X.X.X.X...X....X...XX..X..X..X.....XXXXX..X......", ".X....X......X.XX.....X.X..X..XX......XX.....X..X.", "X.XX.X.X..X....X...XX....XXX.X...XX.X.....XX.X....", "....X.......XX.XX..X.X..XXXX.......XX..X....X.....", ".X...........XXXXXX.X..XX....XX.X.XXXXX...........", ".X.....X..X...X.X.X...XX.....X...X..X.X.XX.XX....X", "X...X........X...XXX.X.XXX.XX..X....XX.......XX...", "...XX..........X..XX.X...X....X....XXX......X.....", "....XX.XX...XX.......XX.X.XXX..X.XX.X.XX..........", ".X.XX....X...X........X...X.XX......XX........XX..", ".X.X..X.X.X..X..XX.X..X..XXX..X..X.XX..XX.X.X.X.XX", ".XXX.X..X...X.X.......X.X......X...XX.....X.X.XX..", "....X.X.........X..XX...XX.........X.X....X....XX.", ".............X..X.X....X...........X.....XX...X...", ".X.X.X.X...XX........X.....X.X.X.....X..X..X..XXX.", "X.......X.XX..X.X...XXX.X.......XX...XXX..X.XX.X..", "..X.XX..X.....XXX..X......X..XXX...X.XXXXX..X.X.X.", ".X....X.XX.X..X.XXXX.X...X.X..X.X............X.X..", ".....X.XXX..X...X.X...XX.X...........X...X.X.XXX..", "..X....X...X..XXX...X.......X.......XX.........X..", "X.......XX.X....X..XX.X.X...X.X..X..X.XX..XX....X.", "X.XXXXX.X.X.X..XXXX..X.X.XX..X..X.XXX....XXX..X.X.", "X..XX..XXX..X......X.X....X...X..X.XX.X....X.....X", "....X...X..X...XX...XX.X.X......X.....XX......X.XF", ".XX.X..X.......X....X.X..XX.X.....X.X.XXX...X.....", ".X.....X.XX.X...XX..X.......XX..X.X..S......X.XX..", ".X....X...X...X...X..X.........X.X..XX..X......XXX", ".XXX..XXXX.......XXX..XX.X.....X....XX....X......X", ".XX...X.X.....XX....XXXX.....X.X..X.X...XX......X.", ".XX.X......X..X.X.X..X....X....X.X..X.XXXX..XXX..X", "XX..X...XX....X....X..X..X.X...X..XX....XXX.......", "XX.....X..X.X....X.X..X...X.XX..XXX.XX..XX...XX..X", ".X.X...X.X..XX.X.X..XX..X.XXX.......X.X.X...X...XX", "...X..X.X...X.XX...XXX......X.X..X.....X....XXX..X", "X..X..XXXX....X...X......XXX.X.............X..X.X.", "...X..X..XXX...X.XX...X..XX..XX.XXXXX..X..X.XX....", ".....XX..X......X..X...X.X..X.XX..X....XX..XXXXX..", ".....X.X.X.X...XX......X....X.XX.XX.XXXX.X........", "..X.....X....X..XXX..X.X.XXX.X.X.XX.X....XXX..X..X", "........XX..X.XX.X.X.XX...X...X...X....X...X.X.XX.", "..X........X..X...XXX...XX...X...X..XX..X.X......."}
-2
1
Returns: 8
{ "...X..X....X..X.....XX.XXX.........XXXX..X......XX", ".XX....XX....X...XX...X............X.X.XXX......XX", "..X..X.X...X.....X..XX...X..X.X.X.X...X.XX..X.....", "X.X.X.X.X.X......X...........XX....X..XX.X..XXX..X", ".X.....X..X.X.X...X.X..X......XXXX.XX..X.X.....X..", "...............X.X........X...XX.....XX..XXX..XX..", "XX..XX.X.X......X.X.....X..X.X....X....X..X.XXX...", "X...X........XXX...X....X....X...X.X..XX.X........", "X..XXX.....X.X...X...X..XX..X.X..X......X..X.X.X.X", "...X..XX...X.X..X.......X..X.XXX...XX..X...X...XX.", "X.XX...XXX..XX.XX....X...XX..XX.XXXX...........XX.", "....X..X..X..XX.....X..XXXX.XX...X.XX..XXX........", "XXX.X.X.XXX...X..XX..XX.X..X.........X...XF.XX....", ".X....X...X.....XXXX..X.XX.X.X.X......X....X...XXX", "..X..X.....X.X..X..X.XXX......XX..X....XX...XXX..X", "...X..X.X....XXX.XXXX............X.......XXX......", "XX..XXX.X.XX..XX.....X.XX.X...X..X......X...X..X..", "..X...X...X.X.....XXX..XXX.X.X.XXX..X...X.X.....X.", "....X..XX.XX.......XXX.X.X..X.XX.X.X..X.....XX..X.", "XX...X..X..XX..X.X....X..X...X.XX......X....X.X.X.", "..XX..XX...X..XX.X...X.........X.....X....X.......", "XXX.XX...X.....XX.X..X.X.X...X.....X...XX.XXX.XX..", ".X..X.X....X...XX.X..X..X.X......X.XX..XX..X...XX.", "XX..X...X.XX..XX....X.X......X.X.X..X.X.X.XXXX...X", "X.......X..XXX.X..X.....X.XX.X.....X...X.X....XX..", ".X....XX...X..X.XXX...X..........X.X....X...X...X.", "..X.X.X.XX.XX.X.X.X.X........XX...X....XX.X.......", "XXX..X.X.X.X.XX.............X......XXXX..XXXX..X..", ".X.XX........XXX.......XX......X....X...X...XXX.X.", "X.X.....X....XXXX.X.....X.X..X...X.X..X.....X.X.X.", "......X........X.......XX.X..XX...XX...XX...X.XXX.", "X....X.X..........X...X...X....X..X...XXX.X.X.X...", ".......X.XX.X...XXX.X..X..XXX.X.X..XX.XX....X....X", ".....X..X.....X...X...XX.X.X.XXX...X.XX.....X.XXX.", ".......X...X.......X.XX...XX..X.X.X.......X..X....", "X....XXX.X.X.........X..X.X......X.X.......X.X....", "..........X........XX....X.......X........XXXX..XX", "........X..XX....XX.X...X..X...XX..XX..XX.XX......", "X..X.XX.XXX.X......X.........X.....X.X.X.X.X.X..XX", ".X......X.X......X..S.....X...X.....XXX...X..X....", "...X...X...X...X.X..XX...X..XX.X...X....XX..XX...X", "X...X.X.XXX...X.XX..X.X.X.X..X.XXXXX.XX......X.X..", "...X.XXXX......X...XX.X..X...X.....XX....X........", "..X.......X.....XXX......X..X.X.....XXXXX.X.X..X..", ".XX.X.XX...XXX...XXX.X.X....X...X......X.XXX..X..X", "...XX...XX.X.X.XXX...X..X...X....XX....XX.XX......", ".X....X...X.........X...X.X.XX.XXX.X.....X.......X", ".X..X.X.X...........X.XX.X.......X.XX.X.XX...XX.XX", ".X.X..X......XX....XXX..X..X.X.X......XX...XXX..X.", "...X....XXX.X..XXX...X.X.....X.X.......X.X.XX...X."}
-2
-1
Returns: 12
{ "....XXX.XX.X.XX.....X..XX....X.X...X.XXXX.X.XX.X..", "....X..X.XX..X....X..XX.X...XXX.XX..XXXX..X..X...X", "..X..X.....X.X........X.X..X....XX..X...X..X.X..X.", ".......XXX..X.X.X..X.X.XX..X..X..........X.X.X...X", ".X.X.X..XXXX...X.X.....XX......X.XX.X....XX.XX....", "X..X..X...X...XX.....XXX..XXXX....XX.....XXX...XXX", ".X.......XXXX.X..X.X..X..XX...X...XX......X.XX.XXX", "....X..X..X...X.X.X.X.X....X...XX..X..XX.XX.X...X.", "...X.XXX.XXX...X......X.....X..XX.X.XXX........X..", ".X.X.....XX..X.XX.XX..XX......XX.X.X..X.X.XX.X.X..", "XX..XXX.X.XXX...X....X...XXXX.XXX...........XX..XX", "........XX..X.........XXXX.XXX...........X......XX", ".X.XXX.XX.....XX..X...X......XXX...X.XX.X......X..", ".X..X....X...X.....X.X.X.XXX.....X...XX..X.X..X.X.", "...X..X...X.X.....XX.....XX.X.XX....X.X....X.X.XXX", "X.XX..X.X..XXXXX.XX.........XXXX...X..XX.........X", "..X.X.X.............X..X.X.....X..XX.XX.XX.X.X.X..", ".X....X....XX..X.XX.X..XX.XX.X.X..X.X..X.XX......X", "...X..X...X...XX....X.XX.XX.X.X....XX..XXX..X.....", "..X.X.......X..X...XX..X.....XX...XX..X.X.....XXXX", "..X.....X..X....XXX.X..X..X.....X.X..X..X...X.....", ".....X.X.XX.......X.......X..XX...................", ".X...XX....X..X.X..........X..X..XX..XX.X....XXX.X", "..X.X..X..XXXX..X.XXXX.XXXXXXX.X....XX...XX.X.....", "XX.....X.....X.XX...XX..X..X..X...X..X..XXX......X", "X......X..X...............X.........XX..XX.....X.X", ".....X...........X...XX....X..XX.X.X.X.X.X..X.....", "...........XX..........X...X.....X..X.X...X.......", ".X.X.X....X.X......XXXXX....X...XXX.XX....X.......", ".XXX.X.........X..X.X.X.X.X..X.X....X..X....XX..X.", ".X.XX......X.X.XX...XX..XX.XX..X.X..X....X..F.X..X", "X.......XX...X..XX.X.....XXX....X..XX....XXXX.X..X", ".X..........X.X......XXX.....XX..X.......XX...X...", ".....X..X......X..........XX..X.XXX....X..XX.X....", ".XX..........X.X.......X..X......X.X..XX.......X.X", "XX..X......X.X......X.....X.X...X...X...XXX......X", "......X.X.X...X...X......X.....X.XX...XX..X.......", ".X..........X...X.XX..XX....XX.X..X.X......X.X..X.", "X......X...X.....X.......X....X...X...X...........", ".....XXX.....X..X......XX.X...X...XXXX.....XX.X...", ".X......X....X...X....XX.X..X....XX.X..XX.X.......", "X..X..X....X..X..XX..XX.X..XXXX.........X..XX..X.X", "XXX......XXX.X..X.....X..X...X.XX..X.X.X..X..X..XX", ".....XX..XXXX...XX.XX.X...X.XX...X.XX.XX.X.X.X....", "X...XX.X...X.X.X.....X...X......X......X.X.X..XX..", "X.......X............X....X........X.....X...X.X..", "S...X..X..X.X.....X..XX.......XXXX.X.X...X...XX...", ".XX.....X..XXXX.X..X......XX.X.X.X..X.......X.X...", "......XX...XX....XXX.X..X.X.....X..X..........XX.X", ".X....X...X......X.XXX.XXX..XX.X..XX.XXX.........."}
2
-1
Returns: 21
{ "....X.X.X.X.X...X.XX...XXX.X..X..XX.XX.XX.X..X.XX.", ".X..X..X..X....XX...X.XX...X.X.X..X...X...X...XX..", "..X.....XX.XX...XX...XX.X..X.XXXX..XX.X.XX...X.XX.", "....X.....XX..X..X...XX..X....X.X.....XX.X.XX.X..X", "XX...XXXX..X.....X....XXX..X.XX......XX....XX.....", "X......X....XX.....X....X...X....XX......X.XXX....", ".XXX.X.X.X.XX...XXX.......X.X..X..XX..XXX.X..X....", "....XX..XX....X......X..XXX..X.X.X...X.........XX.", "X.........XXXX..............XX....XXXX.X...X....X.", "..X....X.X.....X....X..X....X.XX.....XX.X.X.X.X...", ".....X.X.X.X.X..XXX..XX..X.XXX.XX..X..X.X.X.X.X..X", "..XX.X..X..X...XX..................XXXX......X..X.", "......X...XXXX....X.X.X...X.X....XXXX.X.......X.XX", "...X............X.....X.X...............X.....XX..", "....XX....X..XX..XXXX..X.X....XX.....XX.....X..XXX", ".....X...X..XX.X..XXX..X.XX.XX.XX.XXXX......XXXXX.", "XXXX..XX.X.XX..X.X.....XX.XXX..XX..X..XXX.X.......", "...X.......X.X.....XX..XX.XXX...X.X....X.X.XX.XXX.", ".....X.XXX...X.X..XX..XX...X.....X.XX...XX.XXX...X", ".XX.....X..X.....XX.XX.X...........XXX..X..X..XX.X", ".....XX.........X.X.X...XX...X.X...X...X....XXXX..", "...X.XX..X..X.X...X....X..................X.......", ".X......X......X......X.............XX..X.XX.X....", "X......X.X.............X..X.....X.XXXX...X........", "..XX..XX.X..XX.XX..X.X.X..X...X...X.XX.....X...X..", "X.X.XX.XX.XX.....X.X......X...XXX.......X.........", "....X...X..X..X........XX.....X........XXXX....X..", ".X...X..XX........X.....XX.XX.....XX..XX..........", ".XX..X...XX.......X.XX....XSX.X.........X.X.......", "XX...X...X.XX....X.X.X.X..........XXX.........X...", "......X.XXX.X...XX.XX.X.X.XX..X.X.XX...X.XXX.X.XXX", "XX.X.X......X.X....X....X..X.X....X.......X.....X.", ".XXX.X.....X...X......X.XX..............XXX.X.X...", "XXX.X.X.X.X......X..X...X.....XXX..XX...X.X...X...", ".....X....XXXX.........X...X..XX....X..XX.....X...", "X..X.X.X....X.X.X...XXXX..X..X..X......X..X.X.X...", "......X...X.XX.X....X......X.XX.......X.X....XX.X.", ".XX...X....X..XX.X....X.....X...X..XX......X...X..", ".X......XX.XXXXX...X.XXX.X........X.X...X.XX.X....", "XX.X.XXXXX..X......X......XXX.......X.X.XXX...XX..", "X....X....XXX.X...XX.XX.X.X..XXX..............X...", ".X..XX..X.....X..X...XX..X..XX.X.X.XX.....X...X.X.", ".XX.XXXX.......X.X....X..X....X..XX......XX.......", ".....X.X.....X..X.........X.......X...X...XX......", "X..........X.........X.X.X.......X......X...X.XX..", "..XX.X....XXX..X.X....X...XX.XX.X..X.XX..X......X.", "..XX...X...........X...XX....X..XXXXXXXX........X.", ".....XX...XX....X..XXX...X.X........X..X...X..XX..", ".X.X...X........X...XX...F.......X....X....X...X..", "...X...X..XXXX..X..X.X......X...X..X......X..X...X"}
3
-1
Returns: -1
{ "S....X..XX..XXXX.X.......X.X.......X...X.....XX...", "XX.X..XX..X..XX..X....XX..X.X...XX...X...X...X.XXX", "X.....X.X......X.X..X......X..XXX..X.X.XX.........", "X..XX.X...XX.XXX...XX.X..XXXX.X.....XXX...X.XX.X..", "X.....X.....X..X...XX..X...X................X.X..X", "XX.X.....X.X...X.X...XX.X.XX.....X.XX.X....X..XXX.", "..X..XXX...XXX.X....XXX.X..X..XX..XXXX..X.X..X..XX", "X.....XXXXXXXXX.X.XX....X.X..XX.X..X..X..X.....X..", ".....X.X.XXX.X..X....XX..XX..X...XXXX.X.......X..X", ".....X.XX....X...X...............XXX.X.....XXX.X.X", ".XX.X.XXXXXXXX..X....X....X.....X.....XX...X.X.X.X", "X...XX...X........X..XX.......X.X...XX.X.X.XX.....", ".X..X..X..X.X.....XX.XX......X..X.X..X.X.XXXX...X.", "..X..X.......X...X....XX.X.X..X...X...X...........", "X.XX..X..........X.........X.X....X....XXX.XX.X.XX", "..XX..X..X............XXX.........X.....X.X.......", "..X.........XX..X......X.X.XX..XXXX.XX.X......X...", ".XXX...X...XX......X......X.........XX...X.X...X..", "..........X....X.XXX.X.......XX...X...X...X...X.X.", "XXX...XXX..XXXX....XX.X..X..X....X.X..XX..X..X...X", "..X...X....X.XX.....XXX....XXXX...XX......X.....X.", ".X.......X...XXXX..........X..........X.X...XX.X..", "X.....XXXXXX....X....X........X..XX...XX.X..X...XX", ".....X...XX..X.......XX.XXX..X..XXX..XX.X....X..XX", "...........XX.X..XXXX....X..X..X.....X.XXXX..X....", "..XX..XX.........X.X.XX.X....X.......X...XX..XXX.X", "..XX......X.X.XX.X..X.....XX.XX.X..X...X..X.....XX", "XX..X.X...X......X....X..XX....X.X.X..............", "...X.X..X.XX........X...X..XX..X.XX.XXX........X..", ".....X....X....X..X.....XX....X....X..XX......XX.X", "X.X...XX.........X.X..XX................X.X.X.X...", "..XXX.XX..XX..X......XX.X..X.XXXX......XX..X.....X", "XX...XX...X..XX.......XX.....X.XX..XX.XX......X...", ".........X....XX...XX.X..............X.X.XX......X", "..X.XX......XX.X...X...XX....X...X...X..X.....X...", ".........X..X....X....X....XX..X.X...X.XXX.....XXX", "...XX...........XX..XX...X....X.....X....XX.X.X...", ".X..XX..XXXX...X.X........XX.....X..X.X..XXX.X...X", "X.X..X.X..X..X....X...X....X.X..XX......XX..X..XX.", "X.XX........X.X....XX.X..X.X..X...X.XXXX.......X..", ".XX.X......X.X..............XXX.X..X.....X.X..XX.X", "...XX.X......X....XX.XXX.X..XX..XX..X.X.....XX...X", "XX.XX.......XX..........X..XX.X...X..X....X.......", "..X.X...X.XX..X.X.......X.X.....X..X..X....XX.X...", "XXX..X.X..X.XX...X.......X..XXX.X...X..XX.....X...", ".....X.......X..X..X.....X....X.X..XX..XX.X.X.X...", ".XXX....X..X....XX....XX...X....XXXXX.XX.X........", ".XX...X....X..X..X.XX......XX.XXX......X..X.......", "XX....X.X..X............X....XX..XX..X......XXXXXX", ".........XXXXX.X.......XX.XX......X.XXXX....X....F"}
0
-1
Returns: -1
{ "X.......XX......X.....XX......XX........XXX.X...XX", "....X.X.......X..X....X...X.X.X...X..XX.X.XXXX.XX.", ".X.....X.X...XX.......XXX....X.XX..XX.X.X...X...XX", "....XXXX..XXX.X.....XX.......XX.......X....X.X.X..", "X.X....X......X.....X..XXXXX.X.X........X.X..X...X", "...X.XXX....XXX...XXXXX.XX.........XXX..........X.", ".XX.X...X.X........X.....X.XXX......XX..X...X..XX.", ".X...XXX....X.XX.X.X.....XX.........X......X.X....", ".XX..X.X....XX.....X..X...X.X.X...XXXXX.X.XXX...X.", "X...X.XXX.X....XX.X..X......X.....XX...XX..XXX.X.X", ".XX....X...XX....X..XX...X.XXX..XX..X..XX.......XX", "..X...X.XXXX.X.....X....XXX.X.X....X.X..X......X.X", "XXX.XXXXX.X...X....XX.X.X..X.X...X.......X..X..X.X", ".XXX..XX..X.....X...........X.....X....X......X...", ".XX.....X.XX..X..XX..XX.X.........X......XXX......", ".X...X...X....X..X.X.X....XX...XXX.XX..X......XXX.", "..X...XXX.....XXXX.......XXX..XXXX.X.X............", "XSX.......X...X.XXXX..X....X.X.XX.X.......X..XXXX.", "..X.XXX.X.X..XXXXX....X....XX.XX..XX..X..X..X...X.", "..X....X...XX..XX..X..XX..X.........XXX...X.XX...X", "....X.....XX....X.X..XX....X.X..XX....X...X.XX..X.", "..X.X...XX.....XX.X.XX...X........X.X....X.X.X.X.X", "...X...X.......X.X......X..........X.X....X.......", "..XX.XX.XX.....X.XX.X.......XX.....XX.......X....X", "X.......XX.XX.XX..XX....X.....X.....X..X...X......", "XXX.X.XXXXXX...X.X.X.X.X.X.XX......X..X.X..X.XX...", "...XXX....X.....X.X.........X..X....XX.......XX...", "....X.....X.XX...X..X.X....X..X.XX.....X...XXX..X.", "XXX.X..X...XXX..XX..X..X....XX...XXX....X..XX....X", ".XX.X.....XX..X.X..X...........X.X..X...X.....X..X", "X..X.XX.X....X.XX.....X.........X...X..X..XXX....X", "..X....XX...FX..X.....X..XXX..XXX.....X.XXX....X.X", "...X.....X.......X...XXXX...........XX.......X....", ".XX..X..XX....XXX.X...X.XX...X.X.X.XX..X.....X.X.X", "...X...X.....XX....X..XX.....X.....X........X.XXX.", "X...........XX..XX.XX.X...........XX...XX..X....XX", "..X...X..X..X...X..X..X..XXXXX...X.X...X.XXX.X.X.X", "X.X...X...XX.XX.....X....XXX..XX....X...X.XX.X.XX.", "..XX....X...X..X....X.XXXX.XX...X....X...XXXX.X.X.", "..X..X........X.....XX....X..XXXX.X....X.X....X...", "...X.XX....................X.X...XX..X.....X...X..", "..................XX.....X.......X.X...X.X.XXX..X.", "XXX.....XX.X...X.X.X..X......X.X..X...X.....XX...X", ".X.X.X.X.....X.X.X.X.X.X.X..X..XXX.XXXX.XXXX......", "X......XX.X.X.X.X.X.XX.X...X...X..X.XXX.X.XXX.X...", "XX.........X....XX...XX.XX...X....XXX.X...XX...XX.", ".X....XX.XX.X....XX.X.X...X.X........X....X....X..", "...X..XX.....X.X.X..X..X..X..XX..XX..X.XX..X......", ".XXXX.X.....X.....XXX.X............XX.XX.X........", "...XX..X......XX....XX...XXX..X.......X.....X....."}
2
2
Returns: -1
{ "......X..XXX....X.......X....X.XXX..........X..XXX", "....XXX..XXXX...X...XXX.....X..XXX......X..X..X...", "..XXX.....X.XX.X.X.....XX...X.X....X...X.XXX..X..X", ".X.X............X...X.X..X..X..........X.XX.X.....", "....XXX.X..X.X.X.X..XXXX..XXX......XX.XX.....XXX..", "..XX.X..XX.....X..XXX...X.XXXXXX.X........X.XX....", "..X.X.X..X....XXXX......X.X.......X.XX.........XX.", "..X.X.X.....XX..XX.......X..X.XXX........X.....X.X", "...XX..X.X..X..X..XX.XXX....X.....X..X....XX.X....", "XXX..XXXX.X.X.XXX....X...X.....X..X..X...XX.....X.", ".......X..X.XXXXX.X..XX...X...XX..XXXX.X.....X...X", ".X...............XXX..X...X.X...X.X..XX....X..XX..", "XXX..X..XX..XX.X....XX.X...X......X.X..X.X...X....", "XXXX.....XXX....X....X......XX...........XX.XXXX.X", ".XX..X..X.X.XXX...XX.X....X.X.X......X.X....XXXX..", "..X...X...X......X...X........X.X..X..XX.XXX.X.X..", "X.....X..X.X..........X.XXXXXX.X.X.X.XX..X....XX.X", "X.X......X......X....X...XX..X..X....X.....X.X..X.", ".......XX.X.X.XX...XX..XX...........X...X....X....", "..XX..X...X.X.X.XX.....X.....X........XX..XX......", "XX.....XX...XX.XX.....XX..X...X.....XX....XXX....X", ".XXX.X.X..X...XX..XXXX..XX........X....XXXXX..X...", "...XX..XX..X....X........XX.X....XX...XX..X...X.XX", "....X..X.....XXX..X...X....X..X.X..X.....XXX.X..X.", "X....XX.XXXXX.XX....X.X..X..X......X..XXX...XXX...", "XX.XXSX.X.....X..X.......X.........X.X.......X..X.", ".X.......X..X..XX...XXXX.XX.X..X..X......XXX......", ".XXX...X..X.....X..X.......X...X....XX.......XX...", "X..X.X...X..XXX..X..X.X..X..X..X....X.X....XXX..X.", ".X.X........X...X....X.XXX...X..X.FX.X..XXXX......", "........XX.XXX..XXX...XX....X..X.........XX....XX.", ".X...XXX..X...X...X.XX......X......XX.X...XX....XX", ".....XX..X..X..X......X..........XX......X...X....", ".X..X.XXX......X.XX..X..XXX...X.........XX..X.X...", "X....XXX....X....XXXX..X.XX.X.X...X.X........X..X.", "XXX.X....X.XXX.X..X....X.XX.........XXXX....X.XX..", "X..XX.X.X....X.XX.X.....XX...X....XX..X...X....X..", ".X....XXXXX.X.X.X....X..XX........X...X.XXX......X", "....XXXXX..XXXX.XXX.......X.X..XXXX...X..XXXX....X", "..X..XXXX.....XX..X..X..XX...X.XX.XX...XX..X......", "...X....XXXX........X...XXXX...XXXX.X...XX....X...", "X.X...X..X.X........X..X..X.X.....................", ".X..X..X.....X.X........XX........X.X..XXX..XX....", "..XX.X......X....X....XXXX.X....XXXXX.............", "........X.............X........X.XX..X..X.........", "X..X.X.XX...X.....XX..X...X...X.....X.X.XX.X.X.X..", "..X.XX.X.X.X.X.X.XXX....X......XX....X.X.XXXX.....", "..X..X.XXX..X.....XX.....X.......XXXX.XX.XX...XXX.", "X...X....X....X.XX...........X..X..XX.X....X...XXX", "X...XX....X....XX.XX.......X.X..XX.X....X.......XX"}
3
3
Returns: -1
{ "X..X....X.....X...........XXXX...X...XXX......XX..", ".XX......XXX.X.....X.....X.X.X..XXX......X.....XX.", "....X..XX..X........X.XX........X......X........X.", "XXX..X.X..XXXX.....X..X...X.X.....X.XXX..XX..XX.X.", "..X.X.XX.X..XXXX..X.XXX..X.....XX..X...X...X...X.X", "..X.XXXX...X.X.XXX..XX..XX.....................X..", "....X.X..........X.X.X.....X.X.X...X......X.X..XX.", "X..X..XX.XX.X.......X.X..X.X....X.X.XXX.....X.....", "...X....X.....X...X..X....XX.........X.X..X...XXX.", "XXX..XX....X.X.X...X.XX....X.....X..X...X.XX....XX", "X.....X.X.X.....XXX.XX...XXX..X.........X.X..X.X..", ".X.X...X....XX.X.X....X....X.......X.....XX.......", "...X.......X..XX..X.....X.XX.X..X...XX.X.XX.F.....", ".X.X..X.XX..X........X.....X.X..X....X..XXXX.X....", ".X.........X..X..XX....X.......XXXX.X....XXXXX....", "X.XXX...XXXX.X.......XX.X..XX..X......XXXX....X..X", ".X..X...X.XXX..XXX.XXX....XX.XX..XX.....X..X....X.", "X.XXX.......XXX..X.XX...X...X.X.......XX...XXX.X..", ".XX.X...XX..X......XX.XX...XX..X.XXX..XXX..X...XX.", ".......XX.....X...XX.X.XX.X..........XX.X..XX..X..", "X...XXXXX.....X.X...X..XX...X.X.................X.", ".X.XX.X....X...X.........X...XSX..X.XX.X....X...X.", "......XX..X.....XX...X.X..XX.X.X...X.X..XX....X..X", ".......XXXX..X.X.X....X.........X..X.X...X...XX.X.", "X.X.X...XX........X..XXX.....X.XX....X...XX.....XX", "..X...X....XX.....X.X....X......XX..XXXXX...XXX.X.", ".X....X.....X.XXXX.X........XX.......X......X.....", ".X..X.XX.XX...XXX..X................X...XXXXX....X", "X.....XX..XX.XX..X.X....XX...X..........X...X..X..", ".............X.XXX.....X.XXXX.XX....XX.XX..XX.....", "....XXX....X...X...X...X.......XX....X....X..X....", "X.X.X..XX.......X.X..XX.XXX..X.X.......XX....XXX..", "XX...XX..X....X........X..X.X.........X.X.XX......", "...XXX....X.X.......X...X......X.X....XX.X.....XX.", "...XX.XXXX...XXX..X.X....X..X...XXX...XX..XX.....X", ".X..XX.XX...XX..X.....X.....X...XXXX..XX.XXX..X...", "..X.X..X......X.....X....XX.....X..XX.....X....X..", ".......X....X..XX..X........XX...XX.X.....X.......", "...X..X.X...XX..X....XX..X..X...XXX.XXXX......X.XX", ".....X.....XX.XX.X.X.....X..XXXX...XX......X.X.XX.", "X....X...........X....X...X.X...X.....XXXX......X.", "..X.....X...X.X...XX...........X..X.....X.....X..X", "X.X............XX.XX.X..XXX..X..X......X...X.X....", "....XX.X.....XX.X....XX.X..X..XX......X.X..X.....X", "X.........XX..X..XX.X.....X..X....X...X........X.X", "X.XX....XXXX......X...X......X......X..XXX..X.XX..", ".X..X....XX......XX.XXXXXX...X..X...X...X...X.....", "X.X.X...X..X...XX..X.X....X...X....X...XX.X.X.XXX.", "..X.X........X..X.........X....XXX.....XX...X.XX..", "X.......X...X.X...X.X.......X.X......X............"}
45
-34
Returns: -1
{ "XF...X.X.X.X...X.....X..X...X......X..X..XX.XX..X.", "XX.....X.X....XX...XXX.X.....X..X.XX..X.X..X.XXX.X", "..XX.X.X.........XXXXXX..XXX...X..XX..X.X..X..X...", ".X.X..X.....XXXXX...X...X........XX........X..X..X", "X.X.XX...X.X....XX.X..X.X...XX..X...X..XXX....X...", "......X.........XXXX.XXX.......XX....X.X.X........", "..XXX..........XXX.XX.XX......X..XX.X.....X.X.X..X", ".X.X....X..........X.............XX..X.X...X......", "...X.XXX.X...XX.............X.X.......XX.X.X.XX...", ".X.XX....X.X.X...X.XX..XXXX..........X...X...X..XX", ".X.XX....XX.XXXX.X..X.X.....X.....X...X..X..X..X..", "....XX.X......XX..X.XX.X..X.X.X....XXX.X.X.XXX..XX", "....XXX.....X.XX...X..X...XXX...X.......XX.....XXX", "X.X..X.X.....X....XXX...................X..X......", "X.XX...X.XX.XX..XXX...XX.....X...X......X.XXX.....", "...XXXX.X.XXX.XX...X..X.XX.......X..X.......XX.X.X", "...X........XX.XX..X.X.XX...X.X...XX.....X.X......", "......X....XX..X.......XXXX.X..X..X........X...XX.", ".X......X....X.......X..X.....X.XX.........XX..X..", ".....XXX.XS...X...XX.XX.....XXX..XX.....X.X.XXX...", "X..XXX...XX....XXX..X..X...XXX.X.X........XX....XX", ".............X...X...........X...XX.X...XXX..X....", "X.XX...X.X.XXXX.....X.XX.....X..........XXXXX....X", ".X...X...X..X.X.X....X.X.......X.XX...X..........X", ".....XX....XX..XX..X..X.XX.XXX...X.XX.X...X.....X.", "....X..XX..XXXXX..X..X......X.X....X..X..XX.......", ".....X...X.....X...XX.X.XX....XXX......X.......X..", "....X.X.XXXXX.X.X.....XXXXX.X.XXX.XX...X.....X...X", "X......XX....XX......X......X..XX...X..X......XXXX", "....X.X........X........XX..XX.XX..X....XX..XX....", "X..X.XXX...X......X.XXX.X.................X....X..", "..X.X.......X.X...........X.X..X.XXX...X..X..XXX..", ".X..XX..X...X.......XXX.....XX...X..X....X.X......", "..XX.X..X....X.X...X....X.X.X.X.XXX....X.XXX..XXX.", "XX..X...X.X.XXXXX..XX...X.X.X..X.....X...X....XX..", ".X...X.X.X....X.XX.......XXXX..XX....X..XXXX...X..", "X.XXXX.X.X..X......XX....X.XXX..X..XXX..XX.XXX..X.", "......X...X..XXX.X........X............X.XXXXXX...", ".X.X.....XXX.X.X..X...XX...X...X...XXX..X.........", "XX.X...X.....XX.X....X..XX.....X..XX...X.....X..X.", "...X.X...XXXX.X...XXXXX....XXX....X.X.XX.........X", "X.X...X.X.XXX.X.X.XX..........X....X......XX.X.X.X", "X......X.X.....XX...X......X.......X......X....X..", "..XX....X.....XX.....X..XXXX.....X.X......XX......", ".........X....XX....X..X.....X.....X.X.XX.X.X.X.X.", ".X..X..X..X..X.XXX.....XXX..X..........X.XX.X.X.XX", "XX...X.....XX...X..XX.X..XX....X...X..XX.......XX.", ".X......X.XXX..XXXX...X.XX.XXX.X..X..X.........X.X", "..XX.X.XXXX..X..X........XX.X.X...X..X.......X.X.X", "....X....XX..X..X...XXXX...X...X.....X......X....."}
-5
11
Returns: -1
{"S.................F"}
1
0
Returns: 6
{ "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".XX...............................................", ".FXS.............................................." }
-10
10
Returns: 25
{ "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................XX", "................................................XF", "SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", ".................................................." }
-10
10
Returns: 38
{ "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", ".....X...........................................F", ".....X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", ".....X............................................", "SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", ".................................................." }
-10
10
Returns: 61
{ "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..........XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..........X......................................F", "..........X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..........X.......................................", "SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", ".................................................." }
-10
10
Returns: 60
{ ".................................................S", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................XX", "................................................XF", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", ".................................................." }
-1
1
Returns: 29
{ "S.................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXF" }
0
0
Returns: 346
{ "F.................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS" }
0
0
Returns: 346
{ ".................................................S", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.", "..................................................", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "..................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXF" }
1
-10
Returns: 356
{"S.......X.........F"}
0
0
Returns: -1
{ "S........................XXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXX........................F" }
2
50
Returns: 1
{ "S.X......................XXXXXXXXXXXXXXXXXXXXXXXXX", "XX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX...F.XXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
15
45
Returns: 1
{ "S.X......................XXXXXXXXXXXXXXXXXXXXXXXXX", "XX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX....FXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
15
45
Returns: -1
{"................................................XF", "................................................XX", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "S................................................." }
0
0
Returns: -1
{".......X.......X.........X..............X...X...X.", ".....X....XX.X...X........X......X..X........X...X", "............X...............X.....X........X......", ".......X.X................X.X...X..........X.X....", "....X..X..........X................X..X.....X.....", "..X......X...XX..........X...X..............X.S...", "..........................X.......................", ".........X...............X...X..XX...........X....", "..X..............X........X..X.X.X.X..............", "............X......................X..............", ".X.......................X....X................X..", ".....X.............X....X.........................", "............X..........X............X..........X..", "..X.X.....................X........X..............", "......X....X...X.X........X.........X........X....", ".......X......XXX......XX.........................", "X..............X........XX...X....X..............X", "...X.XX....X...X.........................X........", ".XX........X....................X.....X.X........X", ".X..................X.........................XX..", "......X..X............X..............X....X.......", "X........................X.............X...X...X..", "........XX..X................X....X.............X.", "........X...........X............X................", "X......XX...........X.....................X.......", ".......X..X..............X.................X......", "...X..................X....X.X.X..X.........X..X..", "...................X...........X.........X.X......", "..........X.......XX.X..........X.................", "...X...X..X.......X....................X..........", "...X............X...X..X.....X......X.XXX....X....", ".........X......................X...X.X.......X...", "..X.............X......X............X......X..X...", "....................................X...X....XX.X.", ".X.......X.X..X.........X..................X..X...", "..............X.............................XXXX..", ".........X...........X..X......X...........X......", ".........................................XX.......", "...........X...X......X.....X..X.X.......X..X.....", "..................X.......X..X..XX.....XX.........", "............................X.................X...", "......................X................XXX........", "........................X......................X..", "........X......X............................X.....", "....X.............................X..........XX..X", "..........X........X.......................X.X....", "..........................XX...X..................", "...............X.X.................X.....X...X....", "..X....X.X......X...XX.......X.....F.X...X....X...", "..X..........X.X.......X.X..X..........X..X...X..." }
0
0
Returns: 10
{"XX..XX.X.XX.....X.XX...XXXX...XXX.X.XXXX.X..X.X.X.", ".X...XXX.X.X.XXX.X.X.X..X.X.....XX.X....X....XX...", "XXX.X...X..XXX.X.XXXXXXXXXX.XX.X.XX..X.XXX...X.X.X", ".X.XXXX...X.X.....X.XXXXX..XX.XX.X.XXXXX..XX.X..XX", "X.......XXX..X.X.X.X..XX..X...XXX..X..XX....X.XXX.", ".X.....X.....X.....XX..XXXX.X..XXXX.XXX..X........", ".XX.X.X...XX...X.XX.XXXXX.XX.XX.X......X.X......XX", ".X...X....XXX..X..XXX..X..X.XXXX.XX..X.....X...X..", "....X.XXX...X..X...XX.XXXXX..X..X.XX...X...X.....X", "XXX..X.XX.XXX.X.XX.XX.XXXXX..XXXX..XX.X...XX..X..X", "XXXX.X.XX....X..X..........X..X.X.XXXX...X...X.XX.", "XX.XX......X..XXXXX.XXX.XXXXX.X.XX.X..X..XXXX..XXX", "XX..XXX....XXXXX.XXXXXX....XX...XX.....X...XXX...X", "XXX.XXX....XXX.XX.XXX.X.X.X...X.X..X.XX..XXX.X.X..", ".X.XXXXXX.XX..X.XX....XXXXXX.XX..XX.XXX.X.XX.XX..X", "..X...XX...X..X...XX..X.X.X..X...X....X..XX.X....X", "XXXXX.X.XXXXXX..X.....X..X.XXX....XX..XXX..X.XXXXX", "..XX.X...XXX.XXX.X.XXX.X...XX..X.XX.XX.XX..XXX..X.", "X..XX.X..X.....X.XX....XX..X.X.XX.XX..X.XXX.XXXX..", "X...XX..X.XXXXX..XXX...X.X.....X.XX..X.XXX.X.XX.X.", "XXXX.X..X.....XX.XX.X..XX.XXX.X.X..X..XXXXXXX....X", ".X...XXX..X.....X.X...XXXX.XX.XXXX.X.XXXX.XXXX...X", "X.X.X.XXX.X...X...XXX.X.X.XXXX..XX.XX..X..X..X..XX", "X.XX.XXX..XX...XX.X.XX....X.X....XX..X.XXX..X.XX..", "XXXX.XXX....X.X.X.XXXX.XXXX....XXX.XX.XX.XXXX....X", "XX.X.XX.XX.XXXXXX.X.X.X.X..XXXX..X.XXXX..X.X.XXXX.", "X.....X.X.X.....XXX.X.XXXX..XXX.XXXXX..X.XX.XXX...", "...XX.X...XX.XXFX..X.XX.X.X.X.XX.X....X..X..XXXXXX", "..X....X.XXX.....X.XXX.XXX....XX..X..XXX.X..XXXX.X", ".X..XXXXX.XXXXX.X.XXXX.XXX.........X.X.XX...X..X.X", ".X....XX.XX.XXXX.X.X..XX..XXXX.X.XX.X.XXXX...XXX..", "...XX.X.XXX..XX....XX..X.X......X.X...X.X....X..X.", "X....XX.XXXXX.X..X.XX..X.....X.X.XX....XXX..XX...X", "X.XXXXX.XXXXXX..X.X.X.XXXX.XXX..XX..S.X.XX.X.XX.X.", "XXX..XXXX...XXX.X.X...X.XX.X.XXX..X.X..XX.X.XX..XX", "XX...X....XXXX.XXXXX.....XXX...XX.XX.XX.X..XX..XXX", ".......XX.X.X......XXX.X.XX....X..X..XX.X...X.XXXX", "....XX..X..XXXXXX..X..X....XXX..XX.....XXXX...XX..", ".......X......X..XXXX.......XX..X.....X..XX.X.X...", "XX.XX.XX.........XXXXX....XX.XXX.X.XXX..XX..XX.X.X", ".XX..X.X...XX..XXX.XX....XX..X...XX..XX..XXXXXX..X", "..X..X.X....X.X.XXX.XX..XXX..XX.XX.X....X...XX...X", ".XX.X......X.X..XXXXX....XX.X.XXX..X..X..X..X...XX", "XXXXXX..XX.XX.XXX.X..X..XXXXX.X.X.....XX.X.XX....X", "X..XXX...X.XX..X...XX.X.X..XX.....XXXXXX..XX.XX.XX", "..XX..X.X..X.XXX....X.....XX....XXXXXX..X.X.X.X...", ".X.....XX..XXX...XX.XXX.X........X..X.XXXX...X.X..", "X.X...XX.XXX.X..XXXX...X.X.....X.X.XXX...XX.XXX...", "XX....X..X.X.X....X...XX...XX.X.XX.XXXX...XXXXXXXX", "XXX..XX.X.X....X.X.XXXX....XXX..XXXXX....X..X.XX.." }
0
0
Returns: 16
{"S.X...X...X...X...X...X...X...X...X...X...X...X...", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.", "X...X...X...X...X...X...X...X...X...X...X...X...XF" }
1
1
Returns: 346
{"XXXXXXXXXXXXXXXXXXXXXXXXX.......................F", "S........................XXXXXXXXXXXXXXXXXXXXXXXX" }
0
0
Returns: 10
{"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....S............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................XX", "................................................XF" }
-1
1
Returns: -1
{"SX.", "X.F", "..." }
50
50
Returns: 1
{"SXXXXXXXXXXXXXXX.XXXXXXXX", "X.XXXXXXXXXXXXX.X.XXXXXXX", "XX.XXXXXXXXXXX.XXX.XXXXXX", "XXX.XXXXXXXXX.XXXXX.XXXXX", "XXXX.XXXXXXX.XXXXXXX.XXXX", "XXXXX.XXXXX.XXXXXXXXX.XXX", "XXXXXX.XXX.XXXXXXXXXXX.XX", "XXXXXXX.X.XXXXXXXXXXXXX.X", "XXXXXXXX.XXXXXXXXF......." }
0
0
Returns: 21
{"...XS", ".X.X.", "X.X..", ".....", "F..X." }
0
0
Returns: 4