### #.# #.# ####.# #....# #.##.# ##+##'####### #...........####### #...........#...... #.................. #.................. #........)......... #..........(.#################... ##..#+######.##.................. #..#.#......##................. #............+..................(... #..#.#.####.##..............##.....# #......####.##..............##.....# ............. ########...........##..............##.....# ............ #....)........................))....+.....# ......#....##### ########.#.#####.######.......((..(##.....# ..............$. #.#.# #.# #.....#########(##.....# ...............# #.#.# #.# #.....# #.##.....# ........z......# #.#.# #.# #.....# #........+ ......pppp.....# #.#.#####'###.....####### ####.....# ......pppc.Y...# #.#.##......#............ #####.# .....@pp