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