######## .. #...<..# ######. #......# ....... #.^....# ....... ##......# ....... ##.......# ....... #........# .......##.######## #.....S..# #....##### #... #.. #.. #. #