# . ## .##. # ##.# ... #. #.. #.# #.. ##..##..# .##..#..##..# ..........o######.# ....:..<..so.....# ######...########.# #..## #..# #..# #..# #..# #..#