##+## ##...## # ##.....## ## #. ##.......## #...#.##.....!...# .................+ #########).........# #.# ###.##.......# ##'####..####.....## +...'..### ##...## #.<.#### ##+## +...+ ##+##