######### ###.......### ##...........## ##....##'##....## #...####.####...# #..##.......##..## ...#..#####..#...# ..##.##...##.##..# ..##.##<<<##.##..# ..##.##...##.##..# ...#..##'##..#...# #..##.......##..## #...#########...# #....#####....## ##...........## ###.......### ####.#### #+#