about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--resources/input/0736
-rw-r--r--resources/solutions/BFS-50.fornax412
2 files changed, 448 insertions, 0 deletions
diff --git a/resources/input/07 b/resources/input/07
new file mode 100644
index 0000000..2813de0
--- /dev/null
+++ b/resources/input/07
@@ -0,0 +1,36 @@
+............#...................................................
+........#...#........................#..........................
+.......#..########...................#..........................
+.......#.............................#..........................
+.......#.............................#..........................
+......#...#.#........................#..........................
+...#......#..#....##############.....#..........................
+...#..#####..########................#..........................
+.....#.....^.........................#..........................
+......#####.########.................#..........................
+........#..#.......#.............#...#######################.###
+....#...#...##.....#............................................
+........#..........#..##########.....###########################
+...................#.................#..........................
+...................#.................#..........................
+.....................................#..........................
+................................................................
+................................................................
+................................................................
+................................................................
+.............##############################.....................
+................................................................
+................................................................
+..................................#.............................
+..................................#.............................
+..................................#.............................
+..................................#.............................
+.......................#####......#.............................
+.......................#...#......#.............................
+.......................#.#.#......#.............................
+.......................#.#.#......#.............................
+.......................#.#.#####..#.............................
+...................#...#.#$.......#.............................
+.................#######.##########.............................
+.............#...........#......................................
+.............#...........#......................................
diff --git a/resources/solutions/BFS-50.fornax b/resources/solutions/BFS-50.fornax
new file mode 100644
index 0000000..1a9d990
--- /dev/null
+++ b/resources/solutions/BFS-50.fornax
@@ -0,0 +1,412 @@
+rows:12 cols:13
+^................#............#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^@...............#............#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-...........@...#............#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-@..........-...#............#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^--..........-@..#............#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^--..........--..#............#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^--..........-@..#............#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^--..........--..#........@...#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^--..........--..#........-...#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^--@.........--..#........-...#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^---.........--@.#........-...#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^@--.........---.#........-...#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^---.........--@.#........-...#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^---.........---.#........-@..#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^---.........@--.#........--..#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^@--.........---.#........--..#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^---.........---.#........-@..#............###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^---.........---.#........--..#........@...###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^---.........@--.#........--..#........-...###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^---@........---.#........--..#........-...###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........---@#........--..#........-...###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-@--........----#........--..#........-...###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........---@#........--..#........-...###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........----#........--@.#........-...###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........-@--#........---.#........-...###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-@--........----#........---.#........-...###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........----#........--@.#........-...###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........----#........---.#........-@..###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........----#........@--.#........--..###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........-@--#........---.#........--..###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........----#........---.#........-@..###........##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........----#........---.#........--..###......@.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----........----#........@--.#........--..###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----@.......----#........---.#........--..###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+!^-----.......----@........---.#........--..###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^--@--.......----#........---.#........--..###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+!^-----.......----@........---.#........--..###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........---@#........--..###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......--@-#........----#........--..###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^--@--.......----#........----#........--..###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........---@#........--..###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........----#........--@.###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........-@--#........---.###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......--@-#........----#........---.###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........----#........--@.###......-.##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........----#........---.###......-@##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........----#........@--.###......--##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........-@--#........---.###......--##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........----#........---.###......-@##.#............#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........----#........---.###......--##.#.......@....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----.......----#........----#........@--.###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-----@......----#........----#........---.###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#@.......----#........---.###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^---@--......----#-.......----#........---.###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+!^------......----#-.......----@........---.###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......----#........---@###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......--@-#........----###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......---@#-.......----#........----###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......----#........---@###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+!^------......----#-.......----#........----###......--@#.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......----#........-@--###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......--@-#........----###......--##.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+!^------......----#-.......----#........----###......--@#.#.......-....#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......----#........----###......--##.#.......-@...#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......----#........----###......@-##.#.......--...#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......----#........-@--###......--##.#.......--...#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......----#........----###......--##.#.......-@...#............#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......----#........----###......--##.#.......--...#.......@....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------......----#-.......----#........----###......@-##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^------@.....----#-.......----#........----###......--##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#-@......----#........----###......--##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----@--.....----#--......----#........----###......--##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#-@......----#........----###......--##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#--......----#@.......----###......--##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+!^-------.....----@--......----#-.......----###......--##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^----@--.....----#--......----#-.......----###......--##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+!^-------.....----#--......----#-.......----@##......--##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+!^-------.....----#--......----#-.......----###......--#@.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#--......----#-.......--@-###......--##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#--......---@#-.......----###......--##.#.......--...#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#--......----#-.......----###......--##.#.......--@..#.......-....#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#--......----#-.......----###......--##.#.......---..#.......-@...#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#--......----#-.......----###......--##.#.......@--..#.......--...#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#--......----#-.......----###......-@##.#.......---..#.......--...#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#--......----#-.......----###......--##.#.......---..#.......-@...#.##.###.....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#--......----#-.......----###......--##.#.......---..#.......--...#.##.###@....#.#..........#.#...$......#.#............#..........#.......
+^-------.....----#--......----#-.......----###......--##.#.......@--..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^-------@....----#--......----#-.......----###......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#--@.....----#-.......----###......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^-----@--....----#---.....----#-.......----###......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#--@.....----#-.......----###......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#-@......----###......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#@--.....----#--......----###......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^-----@--....----#---.....----#--......----###......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#-@......----###......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+!^--------....----#---.....----#--......----#@#......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+!^--------....----#---.....----@--......----###......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#@--.....----#--......----###......--##.#.......---..#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#--......----###......--##.#.......---@.#.......--...#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#--......----###......--##.#.......----.#.......--@..#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#--......----###......--##.#.......-@--.#.......---..#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+!^--------....----#---.....----#--......----###......--@#.#.......----.#.......---..#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#--......----###......--##.#.......----.#.......--@..#.##.###-....#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#--......----###......--##.#.......----.#.......---..#.##.###-@...#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#--......----###......--##.#.......----.#.......@--..#.##.###--...#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#--......----###......--##.#.......-@--.#.......---..#.##.###--...#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#--......----###......--##.#.......----.#.......---..#.##.###-@...#.#..........#.#...$......#.#............#..........#.......
+^--------....----#---.....----#--......----###......--##.#.......----.#.......---..#.##.###--...#.#.....@....#.#...$......#.#............#..........#.......
+^--------....----#---.....----#--......----###......--##.#.......----.#.......@--..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^--------@...----#---.....----#--......----###......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#---@....----#--......----###......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^------@--...----#----....----#--......----###......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#---@....----#--......----###......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#--@.....----###......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#-@--....----#---.....----###......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^------@--...----#----....----#---.....----###......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#--@.....----###......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+!^---------...----#----....----#---.....----##@......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#@--.....----###......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#-@--....----#---.....----###......--##.#.......----.#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......----@#.......---..#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......---@.#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......--@--#.......----.#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+!^---------...----#----....----#---.....----###......--#@.#.......-----#.......----.#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......---@.#.##.###--...#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......----.#.##.###--@..#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......-@--.#.##.###---..#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......--@--#.......----.#.##.###---..#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......----.#.##.###--@..#.#.....-....#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......----.#.##.###---..#.#.....-@...#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......----.#.##.###@--..#.#.....--...#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......-@--.#.##.###---..#.#.....--...#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......----.#.##.###---..#.#.....-@...#.#...$......#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.@....#.#............#..........#.......
+^---------...----#----....----#---.....----###......--##.#.......-----#.......----.#.##.###@--..#.#.....--...#.#...$.-....#.#............#..........#.......
+^---------@..----#----....----#---.....----###......--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#----@...----#---.....----###......--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^-------@--..----#-----...----#---.....----###......--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#----@...----#---.....----###......--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#---@....----###......--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#--@--...----#----....----###......--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^-------@--..----#-----...----#----....----###......--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#---@....----###......--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###@.....--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#-@--....----###-.....--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#--@--...----#----....----###-.....--##.#.......-----#.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+!^----------..----#-----...----#----....----###-.....--##.#.......-----@.......----.#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##.#.......-----#.......----@#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##.#.......---@-#.......-----#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##@#.......-----#.......-----#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......----@#.##.###---..#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###---@.#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......--@--#.##.###----.#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......---@-#.......-----#.##.###----.#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###---@.#.#.....--...#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....--@..#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###-@--.#.#.....---..#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......--@--#.##.###----.#.#.....---..#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....--@..#.#...$.-....#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.-@...#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....@--..#.#...$.--...#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###-@--.#.#.....---..#.#...$.--...#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.-@...#.#............#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....@......#..........#.......
+^----------..----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....@--..#.#...$.--...#.#.....-......#..........#.......
+^----------@.----#-----...----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#-----@..----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^--------@--.----#------..----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#-----@..----#----....----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#----@...----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#---@--..----#-----...----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^--------@--.----#------..----#-----...----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#----@...----###-.....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###-@....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#--@--...----###--....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#---@--..----#-----...----###--....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###-@....--##-#.......-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.@.....-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+!^-----------.----#------..----#-----...----##@--....--##-#.-.....-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#--@--...----###--....--##-#.-.....-----#.......-----#.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+!^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----@.##.###----.#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###----@#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......---@-#.##.###-----#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....----@#.......-----#.##.###-----#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+!^-----------.----#------..----#-----...----###--....--##-@.-.....-----#.......-----#.##.###-----#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....----@#.......-----#.##.###-----#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+!^-----------.----#------..----#-----...----###--....--#@-#.-.....-----#.......-----#.##.###-----#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+!^-----------.----#------..----#-----...----@##--....--##-#.-.....-----#.......-----#.##.###-----#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###----@#.#.....---..#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....---@.#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###--@--#.#.....----.#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......---@-#.##.###-----#.#.....----.#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....---@.#.#...$.--...#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.--@..#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....-@--.#.#...$.---..#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###--@--#.#.....----.#.#...$.---..#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.--@..#.#.....-......#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....-@.....#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.@--..#.#.....--.....#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....-@--.#.#...$.---..#.#.....--.....#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....-@.....#..........#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....@....#.......
+^-----------.----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.@--..#.#.....--.....#.....-....#.......
+^-----------@----#------..----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#------@.----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^---------@------#-------.----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#------@.----#-----...----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#-----@..----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#----@--.----#------..----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^---------@------#-------.----#------..----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#-----@..----###--....--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###--@...--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#---@--..----###---...--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#----@--.----#------..----###---...--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###--@...--##-#.-.....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#.-@....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###@--...--##-#.--....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#---@--..----###---...--##-#.--....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#.-@....-----#.......-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#.--....-----#.@.....-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#@--....-----#.-.....-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###@--...--##-#---....-----#.-.....-----#.##.###-----#.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+!^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----@.#.....----.#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....----@#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###---@-#.#.....-----#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....----@#.##.###-----#.#.....-----#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....----@#.#...$.---..#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.---@.#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....--@--#.#...$.----.#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###---@-#.#.....-----#.#...$.----.#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.---@.#.#.....--.....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....--@....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.-@--.#.#.....---....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....--@--#.#...$.----.#.#.....---....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....--@....#.....-....#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....-@...#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....@--....#.....--...#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.-@--.#.#.....---....#.....--...#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....-@...#.......
+^----------------#-------.----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....@--....#.....--...#.......
+^----------------#-------@----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------@-----#------------#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#-------@----#------..----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#------@.----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#-----@------#-------.----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------@-----#------------#-------.----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#------@.----###---...--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###---@..--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#----@--.----###----..--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#-----@------#-------.----###----..--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###---@..--##-#---....-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#---@...-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###-@--..--##-#----...-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#----@--.----###----..--##-#----...-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#---@...-----#.-.....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#.-@....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#-@--...-----#.--....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###-@--..--##-#----...-----#.--....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#.-@....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+!^----------------#------------#-------.----###----..--##-#----...-----#.--....-----#.@#.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#@--....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#-@--...-----#---....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#-@--...-----#---....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#@--....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+!^----------------#------------#-------.----###----..--##-@----...-----#---....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+!^----------------#------------#-------.----##@----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.----.#.#.....---....#.....--...#.......
+!^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----@.#...$.----.#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.----@#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....---@-#.#...$.-----#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###----@#.#.....-----#.#...$.-----#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.----@#.#.....---....#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....---@...#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.--@--#.#.....----...#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....---@-#.#...$.-----#.#.....----...#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....---@...#.....--...#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....--@..#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....-@--...#.....---..#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.--@--#.#.....----...#.....---..#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....--@..#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....@--..#.......
+^----------------#------------#-------.----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....-@--...#.....---..#.......
+^----------------#------------#-------@----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------@-----#------------###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^-----------@----#------------#------------###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#-------@----###----..--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###----@.--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#-----@------###-----.--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------@-----#------------###-----.--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###----@.--##-#----...-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#----@..-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###--@--.--##-#-----..-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#-----@------###-----.--##-#-----..-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#----@..-----#---....-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#-----..-----#---@...-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#--@--..-----#----...-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###--@--.--##-#-----..-----#----...-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#-----..-----#---@...-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+!^----------------#------------#------------###-----.--##-#-----..-----#----...-----#.#@.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#-----..-----#-@--...-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#--@--..-----#----...-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#-----..-----#-@--...-----#.##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#@##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+!^----------------#------------#------------###-----.--##-#-----..-----@----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#@----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....----...#.....---..#.......
+!^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----@.#.....----...#.....---..#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....----@..#.....---..#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.---@-#.#.....-----..#.....---..#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....----@#.#...$.-----#.#.....-----..#.....---..#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....----@..#.....---..#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....---@.#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....--@--..#.....----.#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.---@-#.#.....-----..#.....----.#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....---@.#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....-@--.#.......
+^----------------#------------#------------###-----.--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....--@--..#.....----.#.......
+^----------------#------------#------------###-----@--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------@-----###--------##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#-------@----#------------###--------##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###-----@--##-#-----..-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#-----@.-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###---@----##-#------.-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------@-----###--------##-#------.-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#-----@.-----#----...-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#------.-----#----@..-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#---@--.-----#-----..-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###---@----##-#------.-----#-----..-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#------.-----#----@..-----#-##.###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#------.-----#-----..-----#-##@###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#------.-----#--@--..-----#-##-###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#---@--.-----#-----..-----#-##-###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+!^----------------#------------#------------###--------##-#------.-----#-----..-----#-@#-###-----#.#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#------.-----#-----..-----#-##-###-----#@#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+!^----------------#------------#------------###--------##-#------.-----#-----..-----@-##-###-----#-#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#------.-----#@----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....-----..#.....----.#.......
+^----------------#------------#------------###--------##-#------.-----#-----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....-----@.#.....----.#.......
+^----------------#------------#------------###--------##-#------.-----#-----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....----@#.......
+^----------------#------------#------------###--------##-#------.-----#-----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....---@--.#.....-----#.......
+^----------------#------------#------------###--------##-#------.-----#-----..-----#-##-###-----#-#.....-----#.#...$.----@#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#------.-----#-----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....----@#.......
+^----------------#------------#------------###--------##-#------.-----#-----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....--@--#.......
+^----------------#------------#------------###--------##-#------.-----#-----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....---@--.#.....-----#.......
+^----------------#------------#------------###--------##-#------@-----#-----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###----@---##-#------------#-----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#-------@----###--------##-#------------#-----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#------@-----#-----..-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#------------#-----@.-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#----@-------#------.-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###----@---##-#------------#------.-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#------------#-----@.-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------.-----#-##-@##-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#------------#---@--.-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#----@-------#------.-----#-##-###-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------.-----#-##-@##-----#-#.....-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----#-#.@...-----#.#...$.-----#.#.....------.#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------.-----#-#@-###-----#-#.-...-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#------------#---@--.-----#-##-###-----#-#.-...-----#.#...$.-----#.#.....------.#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----#-@.-...-----#.#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----#-#.-...-----#@#...$.-----#.#.....------.#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----@-#.-...-----#-#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------.-----#@##-###-----#-#.-...-----#-#...$.-----#.#.....------.#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----#-#.-...-----#-#...$.-----#.#.....------@#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----#-#.-...-----#-#...$.-----#.#.....-------#.....-----@.......
+^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----#-#.-...-----#-#...$.-----#.#.....----@--#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----#-#.-...-----#-#...$.-----@.#.....-------#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----#-#.-...-----#-#...$.-----#.#.....-------#.....-----@.......
+^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----#-#.-...-----#-#...$.-----#.#.....-------#.....---@-#.......
+^----------------#------------#------------###--------##-#------------#------.-----#-##-###-----#-#.-...-----#-#...$.-----#.#.....----@--#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------@-----#-##-###-----#-#.-...-----#-#...$.-----#.#.....-------#.....-----#.......
+^----------------#------------#------------###--------##-#-----@------#------------#-##-###-----#-#.-...-----#-#...$.-----#.#.....-------#.....-----#.......
+^----------------#------------#------------###-----@--##-#------------#------------#-##-###-----#-#.-...-----#-#...$.-----#.#.....-------#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------@-----#-##-###-----#-#.-...-----#-#...$.-----#.#.....-------#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------------#-##-#@#-----#-#.-...-----#-#...$.-----#.#.....-------#.....-----#.......
+^----------------#------------#------------###--------##-#------------#----@-------#-##-###-----#-#.-...-----#-#...$.-----#.#.....-------#.....-----#.......
+^----------------#------------#------------###--------##-#-----@------#------------#-##-###-----#-#.-...-----#-#...$.-----#.#.....-------#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#.-@..-----#-#...$.-----#.#.....-------#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#.--..-----#-#.@.$.-----#.#.....-------#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#@--..-----#-#.-.$.-----#.#.....-------#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------------#-##@###-----#-#---..-----#-#.-.$.-----#.#.....-------#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#---..-----#-@.-.$.-----#.#.....-------#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#---..-----#-#.-.$.-----#@#.....-------#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#---..-----@-#.-.$.-----#-#.....-------#.....-----#.......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#@#---..-----#-#.-.$.-----#-#.....-------#.....-----#.......
+!^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#---..-----#-#.-.$.-----#-#.....-------@.....-----#.......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#---..-----#-#.-.$.-----#-#.....-------#.....-----#@......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#---..-----#-#.-.$.-----#-#.....-----@-#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#---..-----#-#.-.$.-----#@#.....-------#.....-----#-......
+!^----------------#------------#------------###--------##-#------------#------------#-##-##@-----#-#---..-----#-#.-.$.-----#-#.....-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#-----@------#-##-###-----#-#---..-----#-#.-.$.-----#-#.....-------#.....-----#-......
+^----------------#------------#------------###--------##-#------@-----#------------#-##-###-----#-#---..-----#-#.-.$.-----#-#.....-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#---@.-----#-#.-.$.-----#-#.....-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#.-@$.-----#-#.....-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#-@--.-----#-#.--$.-----#-#.....-------#.....-----#-......
+!^----------------#------------#------------###--------##-#------------#------------#-##-@##-----#-#----.-----#-#.--$.-----#-#.....-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#.-@$.-----#-#.....-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#.--$.-----#-#.@...-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#@--$.-----#-#.-...-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#-@--.-----#-#---$.-----#-#.-...-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#-@--.-----#-#---$.-----#-#.-...-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#@--$.-----#-#.-...-------#.....-----#-......
+!^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-@----.-----#-#---$.-----#-#.-...-------#.....-----#-......
+!^----------------#------------#------------###--------##-#------------#------------#-#@-###-----#-#----.-----#-#---$.-----#-#.-...-------#.....-----#-......
+!^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#---$.-----#-@.-...-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#---$.-----#-#.-...------@#.....-----#-......
+!^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#---$.-----@-#.-...-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#@#---$.-----#-#.-...-------#.....-----#-......
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#---$.-----#-#.-...-------#.....-----#-@.....
+!^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#---$.-----#-#.-...-------#.....-----@--.....
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----.-----#-#---$.-----#-#.-...------@#.....-----#--.....
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----@-----#-#---$.-----#-#.-...-------#.....-----#--.....
+^----------------#------------#------------###--------##-#------------#------------#-##-###-----#-#----------#-#---$.-----#-#.-...-------#.....-----#--.....
+|^~~~~~~~~~-------#----~-------#----~-------###--~-----##-#---~--------#---~--------#-##~###-----#-#-~~~------#-#---$.-----#-#.-...-------#.....-----#--.....