^^^^^^^^^^############^^^^^^^^^^^^^^^ ^^^^^^^^#################^^^^^^^^^^^^ ^^^^^^#####################^^^^^^^^^^ ^^^^#####^^^^^^^^^^^^^^^#####^^^^^^^^ ^^^####^^^^^^^^^^^^^^^^^^^#####^^^^^^
^^####^^^^^^^^^^^^^^^^^^^^^#####^^^^^ ^####^^^^^^^^^^^^^^^^^^^^^^^#####^^^^ ####^^^^^####^^^^^^^^^###^^^^^###^^^^ ###^^^^^######^^^^^^^###^^^^^^####^^^ ###^^^^^######^^^^^^###^^^^^^^^###^^^
##^^^^^^^####^^^^^^###^^^^^^^^^####^^ ##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^###^^ ##^^^###^^^^^^^^^^^^^^^^^###^^^^###^^ ##^^^^#####################^^^^^###^^ ##^^^^^^#################^^^^^^####^^
###^^^^^!#^^#^^#!^^^^^^^^^^^^### ###^^^^^#^^#^^#!^^^^^^^^^^^^^#### ####^^^^#^^#^^#! ^^^^^^^^^^^^^### ^####^^^#^^^^^#!^^^^^^^^^^^##### ^^####^^^#####^^^^^^^^^^^^#####
.................................... .....................
^^^#####^^^^^^^^^^^^^^^^^######^^^^^^ ^^^^#########################^^^^^^^^ ^^^^^^#####################^^^^^^^^^^
......................................
....................................