^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^#^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^###^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^#######^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^#O#########^^^^^^^^^^^^^ ^^^^^^^^^^#####O########O##^^^^^^^^^^ ^^^^^^^^^^^#######O###O###^^^^^^^^^^^ ^^^^^^^^^^^^^###########^^^^^^^^^^^^^ ^^^^^^^^^^^#O#############^^^^^^^^^^^ ^^^^^^^^^#####O#############^^^^^^^^^ ^^^^^###########O###########O###^^^^^ ^^^^^^^#############O###O#####^^^^^^^ ^^^^^^^^^^^^#############^^^^^^^^^^^^ ^^^^^^^^^^#################^^^^^^^^^^ ^^^^^^^^##O##################^^^^^^^^ ^^^^^######O####################^^^^^ ^############O##################O###^ ^^^^############O############O###^^^^ ^^^^^^^^^###########O####O##^^^^^^^^^ ^^^^^^^^^^^^^^^^^^##^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |