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