################################################################...O###############################....###############################....#########################.....#.#########################.....*....#########################.##.....#############.....#########.###############.......*....#######.###############.####.....#.#######.###############.##########.#######.###############....#######.###.....###############....#######......*..###############@...###########.....#################################################