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