~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~...........~~~~~~~~~~~~~~~..........~~~~~~~~~~~~~~~~~~~~~~............~~~~~~~~~~~~~~~~~~~~~
~~~.....................~~~~~~~................~~~~~~~~~~~~~~~~~..................~~~~~~~~~~~~~~~~~~
~~..................^......*******..............~~~~~~~~~~~~.........................~~~~~~~~~~~~~~~
~~...................^^.....*****...............~~~~~~~~~~..............................~~~~~~~~~~~~
~~~....................^^....***.....D...........~~~~~~~~.................................~~~~~~~~~~
~~~~~....................^^^....................~~~~~~~..^^^^...............L................~~~~~~~
~~~~~~........A..........~..^^...............~~~~~~~~.^^^^....................................~~~~~~
~~~~~....................~.................~~~~~~~~..^^.........~~.............................~~~~~
~~~~~...................~~................~~~~~~....^............~~...............~~...........~~~~~
~~~~....................~....***..........~~~~.....^...................~......................~~~~~~
~~........***...........~...***............~~..........................~~.................~~~~~~~~~~
~~.......*****......~~.~~....**..........................J............~~~~~............~~~~~~~~~~~~~
~~~.......***......~~~~~...........F.................................~~~~~~~........~~~~~~~~~~~~~~~~
~~~~~...............~~~~~~.......................~~..................~~~~~~~~~~~~~~~~~~~~.......~~~~
~~~~~~...............~~~~~~~..................****..................~~~~~~~~~~~~~~~~~~~..........~~~
~~~~~~~~~..............~~~~~~~..^.............****.................~~~~~~~^^^~~~~~~~~~~..........~~~
~~~~~~~~~~~.............~~~~...^....****.......**.............^......~~~~~~~~~~~~~~~~~~~.....M....~~
~~~~~~~~~~~~~............~~...^.....****.................~....^^......~~~~~~~~~~~~~~~~~~~.........~~
~~~~~~~~~~~~~~~......................****...............~~~....^....................~~~~~~........~~
~~~~~~~~~~~.~~~~.....E.................................~~~~~...^.......................~~~.......~~~
~~~~~~~~~.....~~~~..........................G..........~~~~....^^.......................~~~.....~~~~
~~~~~~~~..***...~~......................................~~~~....^.......~..K.............~~~~~~~~~~~
~~~~.......**...~~.............~~.......................~~~.....^^......~................~~~~~~~~~~~
~~~.............~.....***......~~..........^...........~~~~......^.....................~~~~~~~~~~~~~
~~~.............~~....***.................^^...........~~~~......^................~~~~~~~~~~~~~~~~~~
~~~......B.......~~......................^^...........~~~~......^^............~~~~~~~~~~~~~~~~~~~~~~
~~................~~~......~~~~~.......................~~~~.....^.................~~~~~~~~~~~~~~~~~~
~~~........................~~~~~~.......................~~~..........................~~~~~~~~~~~~~~~
~~~~........................~~~~~~...^..............^....~~~..................~....^^...~~~~~~~~~~~~
~~~~~~....~~~.................~~~...^^...............^..~~~~...........~.....~~~.........~~~~~~~~~~~
~~~~~~~~~~~~~~.....................^^.................^..~~~~~~...............~............~~~~~~~~~
~~~~~~~~~~~~~~~.........C.........^^..............~.......~~~~~~~~~~................N......~~~~~~~~~
~~~~~~~~~~~~~~~~.................^^...............~~.......~~~~~~~~~~~......................~~~~~~~~
~~~~~~~~~~~~~~~~~~~............^^^.............................~~~~~~.........................~~~~~~
~~~~~~~~~~~~~~~~~~~~.......................I.....................~...^........~~...............~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~...........................................^^......^.~~~~..............~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.......................^.......................^.~~~~.............~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....^^......................O......~~.........^.~~~~.............~~~~
~~~~~~~~~~~~~~.......~~~~~~~~~~~~~...^^...........^..........................^.~~~~......P.......~~~
~~~~~~~...................~~~~~~~~~~~........................................^.~~~~..............~~~
~~~~~......................~~~~~~~~~~~~~.............................~~......^.~~~~.............~~~~
~~~............H.............~~~~~~~~~~~~.............~.......~...~~~~.......^.~~~~............~~~~~
~~.............................~~~~~~~~..^...........~~~......~~~~~~........^.~~~.......~~....~~~~~~
~~...............................~~~...^^............~~~~~~~~~~~~.............~~~............~~~~~~~
~~~~......~~~..................^.....^^........~.......~~~~~~~~~..........~~~................~~~~~~~
~~~~~~~~~~~......................^.^....................~~~~~~~........~~~~~~~......^........~~~~~~~
~~~~~.....~..............................................~~~~~~.......~~~~~~~~.....^.^........~~~~~~
~~~~...................~~.............Q..................~~~~~.........~~~~~~.....^...^.......~~~~~~
~~~~*****************~~~~~~*****************************~~~~~~***********~~******^*****^******~~~~~~
~~~~~*******R**********~~~~~~****************~***^*****~~~~~~~~~****************^*******^*****~~~~~~
~~~~~~******************~~~~~~~~~***************^******~~~~~~~~~~~*************^****S****^*****~~~~~
~~~~~~~~*************~~~~~~~~~~~~~*************^*****~~~~~~~~~~~~~~~~***********^*******^******~~~~~
~~~~~~~~~~~~~~**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*****~~~~~~~~~~~~~~~~~~~~**********^*****^********~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**********^***^********~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~***********^*^*******~~~~~~~
~~~~~~~~~~~~~~~~************~~~~~~~~~~~~~~~~~~~~~~~~~^~~^~~~~~~~~~~~~~~~~~**********^*******~~~~~~~~
~~~~~~~~~~~~~~**********************~~~~~~~~~~~~~~~~^~~~~^~~~~~~~~~~~~~~~~~~**************~~~~~~~~~~
~~~~~~~~~~~~~~*************************~~~~~~~~~~~~^^~~~~~~^^~~~~~~~~~~~~~~~************~~~~~~~~~~~~
~~~~~~~~~~~~~****************************~~~~~~~~~^^~~~****~^~~~~~~~~~~~~~~~~~*********~~~~~~~~~~~~~
~~~~~~~~~~~~********************************~~~~~~^~~******~~^~~~~~~~~~~~~~~~~~~****~~~~~~~~~~~~~~~~
~~~~~~~~~~~~********************************~~~~~^~~~*******~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~***********************************~~~^~~****T***~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~************************************~~~~^~~*******~^^~~~~~~~~~~~~~~~*********~~~~~~~~~~~~~~
~~~~~~~************************************~~~~~~~^~~******~~~~~~~~~*********************~~~~~~~~~~~
~~~~~~*************************************~~~~~~~~^~~~*~~~^~~~~~~~************************~~~~~~~~~
~~~~~~**************************************~~~~~~~~^~~~^^^~~~~~~~~~************************~~~~~~~~
~~~~~~***************************************~~~~~~~~~~~~~~~~~~~~~~************************~~~~~~~~~
~~~~~*****************************************~~~~~~~~~~~~~~~~~~~*************************~~~~~~~~~~
~~~~*******************************************~~~~~*****~~~~~~***********************~~~~~~~~~~~~~~
~~~~******************************************~~~~********~~~~***********************~~~~~~~~~~~~~~~
~~~***********************~*******************~~************************************~~~~~~~~~~~~~~~~
~~~**********************~~~~*******************************************************~~~~~~~~~~~~~~~~
~~***********************~~~~~*****************************************************~~~~~~~~~~~~~~~~~
~~***********************~~~~~~***************************************************~~~~~~~~~**~~~~~~~
~~*************************~~~**************************************************~~~~~~~~~~****~~~~~~
~~****************************************************************************~~~~~~~~~~~******~~~~~
~~***************************************************************************~~~~~~~~~~~*******~~~~~
~~**************************************************************************~~~~~~~~~~~*********~~~~
~~~*************************************************************************~~~~~~~~~~***********~~~
~~~************************************************************************~~~~~~~~~~*************~~
~~~************************************************************************~~~~~~~~~~*************~~
~~~~******************************************~****************************~~~~~~~~~~~************~~
~~~~~***************************************~~~~*****************************~~~~~~~~************~~~
~~~~~~************************************~~~~~*******************************~~~~~~*************~~~
~~~~~~~~~~*****************************~~~~~~***************************************************~~~~
~~~~~~~~~~~~~************************~~~~~~~****************************************************~~~~
~~~~~~~~~~~~~~*************************~~~******************************************************~~~~
~~~~~~~~~~~~~~~********************************************************************************~~~~~
~~~~~~~~~~~~~~~~*******************************************************************************~~~~~
~~~~****~~~~~~~~~~****************************************************************************~~~~~~
~~~******~~~~~~~~~~***************************************************************************~~~~~~
~~~********~~~~~~~~*****************************************************************************~~~~
~~~***^*****~~~~~~******************************************************************************~~~~
~~~***^^****~~~~~~******************************************************************************~~~~
~~~*********~~~~~******************************************************************************~~~~~
~~*********~~~~~~**************************~~~~~~~~~~~~***********************************~~~~~~~~~~
~~~*******~~~~~~~~~*****************~~~~~~~~~~~~~~~~~~~~~~~~~~~********************~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
