######### ....... ....... # ..... .# #...# ..# #...##..# #.......# #.<.....# #.......# #..###..# #..# .# ....# ....!# ....... ##.... #.... #