^^^^^^^^^^^^############^^^^^^^^^^^^^^^
^^^^^^^^^^#################^^^^^^^^^^^^
^^^^^^^^#####################^^^^^^^^^^
^^^^^^#####^^^^^^^^^^^^^^^#####^^^^^^^^
^^^^^####^^^^^^^^^^^^^^^^^^^#####^^^^^^
^^^^####^^^^^^^^^^^^^^^^^^^^^#####^^^^^
^^^####^^^^^^^^^^^^^^^^^^^^^^^#####^^^^
^^####^^^^^####^^^^^^^^^###^^^^^###^^^^
^^###^^^^^######^^^^^^^###^^^^^^####^^^
^####^^^^^######^^^^^^###^^^^^^^^###^^^
^###^^^^^^^####^^^^^^###^^^^^^^^^####^^
^###^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^###^^
^###^^^###^^^^^^^^^^^^^^^^^###^^^^###^^
^###^^^^#####################^^^^^###^^
^###^^^^^^#################^^^^^^####^^
^####^^^^^!#^^#^^#!^^^^^^^^^^^^^^^###^^^
^^###^^^^^#^^#^^#!^^^^^^^^^^^^^^####^^^
^^####^^^^#^^#^^#!^^^^^^^^^^^^^^###^^^^
^^^####^^^#^^^^^#!^^^^^^^^^^^^#####^^^^
^^^^####^^^#####^^^^^^^^^^^^^#####^^^^^
^^^^^#####^^^^^^^^^^^^^^^^^######^^^^^^
^^^^^^#########################^^^^^^^^
^^^^^^^^#####################^^^^^^^^^^
^^^^^^^^^^^^^ ############# ^^^^^^^^^^^^^^^^
^^^^^^^^^^ ################## ^^^^^^^^^^^^^
^^^^^^^^ ###################### ^^^^^^^^^^^
^^^^^^ ##### ^^^^^^^^^^^^^^^^ ##### ^^^^^^^^
^^^^^ #### ^^^^^^^^^^^^^^^^^^^^ ##### ^^^^^^
^^^^ #### ^^^^^^^^^^^^^^^^^^^^^^ ##### ^^^^^
^^^ #### ^^^^^^^^^^^^^^^^^^^^^^^^ ##### ^^^^
^^ #### ^^^^^ #### ^^^^^^^^^ ### ^^^^^ ### ^^^^
^^ ### ^^^^^ ###### ^^^^^^^ ### ^^^^^^ #### ^^^
^ #### ^^^^^ ###### ^^^^^^ ### ^^^^^^^^ ### ^^^
^ ### ^^^^^^^ #### ^^^^^^ ### ^^^^^^^^^ #### ^^
^ ### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ### ^^
^ ### ^^^ ### ^^^^^^^^^^^^^^^^^^ ### ^^^^ ### ^^
^ ### ^^^^ ###################### ^^^^^ ### ^^
^ ### ^^^^^^ ################## ^^^^^^ #### ^^
^ #### ^^^^^! # ^^ # ^^ #! ^^^^^^^^^^^^^^^ ### ^^^
^^ ### ^^^^^ # ^^ # ^^ #! ^^^^^^^^^^^^^^ #### ^^^
^^ #### ^^^^ # ^^ # ^^ #! ^^^^^^^^^^^^^^ ### ^^^^
^^^ #### ^^^ # ^^^^^ #! ^^^^^^^^^^^^ ##### ^^^^
^^^^ #### ^^^ ##### ^^^^^^^^^^^^^ ##### ^^^^^
^^^^^ ##### ^^^^^^^^^^^^^^^^^^ ###### ^^^^^^
^^^^^^ ########################### ^^^^^^^^
^^^^^^^^ ###################### ^^^^^^^^^^^