###### ##....## ##..##..## ##^.####..## ##^.######..## ##..##....##..## ##..##..##.^##..## ##.^##..####..##..## ##..##..######..##..## ##..##..##^^..##..##..## ##..##..##^.##..##..##..## ##..##.^##..####..##..##..## ##..##..##..##!?##^.##..##..## ##.^##^.##..##!.?.##..##..##..## ##..##..##^^##?.?!.?##..##..##..## ##..##..##..## ^.∩M?.Z##^.##..##..## ##..##..##..## ...!.^.^##..##..##..## ##..##..##..## ^.?.^.M.^##..##..##..## ##..##..##..##############''##..##..##..## ##..##^.##..........^.....MZ.^##..##..##^.## ##^^##..##########################^.##..##..## ##..##...............^........^..^....##..##..## ##^.######################################..##..## #....^............^...^.........^............##∩∩# ##################################################