############################################################ ###....####################################.....############ ##......######################..#########.........########## ##......#####################....#######...........####.#### ##......###################.........................##...### ##......##################..........................###...## #........#############...............................#....## ##.......##############..................................### ##.......###..############..............................#### ##.......##....############.............................#### #..............############...###........................### #...............###########..#####...............##.......## #................#################...............##.......## ##.....#####..........###########....#..........###.......## ##....#######............######....####........#####......## #......######..............###....####........####......#### #.......######.............###...####.........###.......#### #........#####.............###..####.....................### ##........####..............#...####.....................### #####......##...................####.....................### ######...........................##.....................#### ######..................................................#### ######.........###.....................####.............#### ######......#########.................######............#### #######....#############.......##############.....###..##### ##############################################..############ ############################################################