################# ....h............ ...###'###...... #.## +.... #..# ... #.###.# ##. #.....# .# #####.## .# #..####.# ##..hh..# #..###### #+#'## #...# +.<.+ #...# #+#+#