###### ##....## ##..##..## ##.^####..## ##^.######..## ##..##....##..## ##..##..##..##..## ##^.##..####..##^.## ##..##..######..##..## ##..##..##....##..##..## ##..##..##..##..##..##..## ##..##..##..####..##..##..## ##..##..##..##!!##..##..##..## ##..##..##..##!.??##..##..##..## ##..##.^##..##?..!.?##..##..##..## ##..##^.##..##.^!∩∩?..##..##..##..## ##..##..##..##....?M.^..##..##[.##..## ##..##..##..##.....??..{..##..##..##..## ##..##..##..##############''##..##..##..## ##..##..##..........M.........##..##..##..## ##..##..##########################..##..##..## ##..##............^...........^.......##..##..## ##..######################################..##..## #...............^....^....................^..##∩∩# ##################################################