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