cc -O1 -Wall -std=c99 -I../../dev/cnbt -c -o mcowl.o mcowl.c cc -O1 -Wall -std=c99 -I../../dev/cnbt -c -o render.o render.c cc -O1 -Wall -std=c99 -I../../dev/cnbt mcowl.o render.o -L. -lnbt -lz -o mcowl ./mcowl testworld testregions/mp/*.mca
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,%%%%,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,%%%,,,,,,,,,%%%%,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,%%%,,,,,,,,%,,,,,,,,,,,%%%%%%%,,i,,,,,%%%%%%%,,,,,,,,,,,%%%,,,,,,,,,,,,%,,,i,,,,,,,,,,,,,~
,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%,%%%%,,,%%%%%,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,%........................,...,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,%%%%........................................................................................................................................................,.,............,,,,,,,~
,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,%%%%%,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,........................,....,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,%%%%.........................................................................................................................................................,.............,,,,,,~~
,,,,,,,,,,,,%%%%%,,,,%%%%,%%%%%%%%%-,,,%%%%%,,,,,,,,%%%,,,%%%%%%%%%%%%,,,%%%%%,,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,...............................%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,%%%................................................................................,......................................................................,...,,..........,,,,,,~~
,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%----~~~~%%%%%,,,,,,,%%%%%,,%%%%%%,%%%%%,,,%%%%%,,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,..............................%%%%%%%%%,%%%%%,,,,,%%%%%,,,,,,,,..............,................................................................................,...,....................................................,,.i,,.........,,,,,,~~
,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%---~~~~~%%%%%,,,,,,,%%%%%,,,%%%,,,%%%%%,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,,,,,,,,,.,,%%.......................,.....,..%%%%%%%%,,%%%,%%%,,%%%%%,,......................................................................................................,...............i.......................................,.,............%,,,,~~~
,,,,,,,,,,,,%%%%%,,,,,,,,,,,-----~~~~~~%%%%%,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%,,,,,,%%%%%,%%%%%%%%,,,,,,,,,,,.%%%........i..................,.....%%%%%%%,,,,,%%%%%,%%%%%.................................................................................................................................................................,.............%,,,,~~~
,,,,,,,,,,,,%%%%,,,,,,,,,,,,-----~~~~~~%%%%%,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%,,,,,%%%%%,,%%%%%%%,,,.,,,,,,.......i...%..........................%%%%%%%,,,,,%%%%%,%%%%.........................................................................................................................i...................................,..................%,,,~~~~
,,,,,,,,,,,,,,%%%%%,%%%%,,,,-----~~~~~~~~,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,%%%%%%%%%,,,%%%...,,,,.........i%%.........................%%%%%%.%,,,,,%%%%%,%%%%...................,...........................................................................................................................................,................,,,~~~~~
,,,,,,,%%%%%%%%%%%%,%%%%%,,------~~~~~~~--,,,,,,,%%%%%%%,,,,%%%,,,,,%%%%%%%%%%%,%%%%%,%%%%%%%%%,,%%%%.................%%........................,%%%%....,,%%%,%%%,,,,,.............................,..............................i.i.............................................,................................................,............,......,,~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%%%%%%%%,%%%%%,,,------~~~~~~--,,,,,,,%%%%%%,,,,%%%%%,,,,%%%%%%%%%%%,%%%%%,%%%%%%%%%,,%%%%.................%%.......................,,,,.....,,%%%%%%%%%%................................,..,.............................................................................................................................,...,..............,~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%%%%%%%%,%%%%%,,,-------~~~~~---,,,,%%%%%%%%%%,,%%%%%%,,,%%%%%%%,,,,,%%%%%,%%%%%%%%%,,%%%%....,.............%..i..............................,%%%%%%%%%%..................................,%.................................i......................................................................................,..,....,.,.............~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%%%%%%%%,%%%%%%%%%----~~~~~~~--,,,,%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,%%%%%%%%%%%%%%%,,%%%%........................................................%%%%%%..............................,....%%...............................i.............................................................................................,......,...........~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%%%%,,,,,,,,,%%%%%----~~~%%%%--,,,,%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%,,,,%%%%%%%%%,%%%%%,,,,,....................................................,....%%%%%%............................,,....,%%.........................iii....................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,------%%%%%,,,,,%%%%%,%%%%%%%%%%%%,,,,%%%%%%%%%,,,,,,,%%%%%,%%%%%,,,,,...............i.........................................%,,%%%...................................%%.................i......i......i...........................................................................................,.......,..,.........~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,%%%%%,,,,,,,,,,,%%%%%%%,,,,-,,%%%%%%%%%%%%%%%%%%%%,%%%%%,,,,,,%%%%%%%%%,,,,,,,%%%%%,%%%%%,,,,,,.................i......................................%,,,,,,...................................%.............................i..............................................,.................................................,,...,............~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,%%%%%,%%%%%,,,,,%%%%%%%,,,,,,,%%%%%%%%%%%%%,,%%%%%,%%%%,,,,,,,%%%%%%%%%,,,,,,,%%%%,,,,,,,,,,,,,,.......................................................%,,..,,,..............................................................i....................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,%%%%%,%%%%%%%%,,%%%%%%%%%%,,,,%%%%%%%%%%%%%,,%%%%%,%%%%%,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,..............................................%%%%%,........,,..%%..............%%%.................%%%%%......................................................%%%..........,..........%%%%%%%.....................%%%............................................~~~~~~~~
,,,,,,%%%%%,%%%%%%%%%,%%%%%%%%%%%%%,,,,,i%%%%%%%%,,%%%%%,%%%%%,,,%%%%%%%%%%,,,,,,,,,,,,,,,,%%%,,,,,,,,...............................................%%%%.............%%.........................................................................................................,............%%%%%.....................................................................~~~~~~~~
,,,,,,%%%%%,%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%,,%%%%%,,,%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,,,%%..................................................................%........................................................................................................,.......................................................................................~~~~~~~~
,,,,,,,,,,,,%%%%%%%%%,,,,,,%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,%%%%%,,,%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,,........................................................,,...........%................................................................................................................................................................................................~~~~~~~~
,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,%%%%%,,,%%%%%%%%%%,,,%%%%%,%%%%%,%%%%%,,......%....................i....................,....................%%...................................................................................................,............................................................................................~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,%%%%,,,,,%%%%%%%%%%%,,,%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%,,,%%%%%,%%%%%,%%%%,,,......%..............................................................%%.........................................................................................................,......................................................................................~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%,,%%%%%%%%%%%%,,,,%%%%%%%%%%%%%,,%%%%%,,%%%%%%%%,%%%%%%%%,,,,,,.....%.................i............................,,..............%%................................................................................................................................................................................................~~~~~~~~
,,,,,,%%%%%,,,,,,,,,,%%%%%,,,,%%%%%%%%%%%%%%%,,,,,,,,%%%%%%%%%%%%%,,%%%%%,,%%%%%%%%,%%%%%,...,,,,,.........,............i................................,.............%...............%..........................................................................................,.....................................................................................~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%%,,,,%%%%%%%%%%%%%%%,,,,,,,,%%%%%%%%%%%%%,,%%%%%,,%%%%%%%%,%%%%,,....,,........,,.....,.,............i........................................................%......................................................................................................................................,.........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%%,,,,,%%%%%%%%%%%%%%*,,,,,,,%%%%%,,%%%%%,,,%%%%%,,%%%%%%%,,,,,,,,,,.............................................................,.............................%.....................................................................................................................................,..........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%%%%%,,**,,,,%%%%%,,,%%%,,,,,%%%%,,%%%%%%%%,,,,,...........................,........................................................................................................................................................................,,..........................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,**,,,***,,,,,,,,,,,,,,,,,,,,,,,%%%%,%%%%%%%%%,..,........................,...................................................................................................%..................................................................,.~~..~~~.~~.......................,,.........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,*,,,,,***,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%....,...........................................................,.........................................................................................................................,.........,.~~~~~~~~~~~~,.....................,..,.......................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,***,,**%%%%,,,,,,,,,,%%%%%,,,,%%%%%,,%%%%%%...,..............................................%...............,.........................................................................................S.......................................,~~~~~~~~~~~~~~................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,%%%,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*******,%%%%,,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,*******%%%%%,,,%%%%,,%%%%%,,,,%%%%%,,,%%%%...,..............................................%%....................................................................................................................................................~~~~~~~~~~~~~....................,,.........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***********,,,,,,,,,,%%%%,,%%%%%,,,,,,,,,,,,*****%%%%%,,,%%%%%,%%%%%,,,,%%%%%%,,,,%%..................................................%%................................................................................................................................,..............,......~~~~~~~~~~~~..............................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,%%%%%%%%%,,,,,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*********,,*,,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,%%%%%%%,,,%%%%%,%%%%%,,,,,%%%%%,,,,,,,.................................................%%%%%...................................................................................................................................,...............~~~~~~~~~~~~~~..........%%%%%%.....%%%....................................................................~~~~~~~~
,,,,,,%%%%%%%%%%%%%%,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**********,%%%,,,,%%%%%,%%%%%,,,,,,%%%%,,,,%%%%%%%%,,,%%%%%,,%%%%,,,,,%%%%%%%%,,,,..................................................%%%...............................................,.............................................S....................................,.................~~~~~~~~~~~~~~............................................................................................~~~~~~~~
,,,,,,%%%%%%%%%%%%%%,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%,,,,,,**********%%%%%,,,%%%%%,,%%%%,,,,,,%%%%%,,,%%%%%,%%%%%%%%%%,,,,%%%%,,,,%%%%%%%,,,,.........................................................................................................................................................................................,..........~~~~~~~~~~~~~~~~~~~............................................................................................~~~~~~~~
,,,,,,%%%%%%%%,%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,*********%%%%%,,,%%%%%,,,,,,,,,,,,%%%%%,,,%%%%%,%%%%%,,,,,,,,%%%%%,,,,,,%%%%%,,,,....%...............................................................................,.,...,.........,......................................................................................,........~~~~~~~~~~~~~~~~~~~............................................................................................~~~~~~~~
,,,,,,%%%%%,,,%%%%%%,,,%%%%%,,,,,,,,%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%,,,,,,,,,,%%%%%,,,%%%%%,%%%%%,,,,,,%%%%%%%,,,,,,%%%%%,,,,%...%,,.................................................................................,........................................................................................................~~~~~~~~~~~~~~~~~~~~~~............................................................................................~~~~~~~~
,,,,,,,,,,,,,%%%%%%%,%%%%%%%,,i,,,,%%%%%%,,,,,,,,%%%%%,,%%%%%%%,,,,,,,,,,,,,,%%%%%,,,,,%%%%%%%%%%,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,%%%%%%%,,,,,,,%%%%,,,,%%.%%,,,.............................................................,.................,.............,..........................................................................................~~~~~~~~~~~~~~~~~~~~~~~............................................................................................~~~~~~~~
,,,,,,,,,,,,,%%%%%,,%%%%%%%%,,,,,,,%%%%%%,,,,,,,,%%%%%,,,%%%%%%,,,,,,,,*,,,,**,,,%%%,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,%%%%%%,%%%%%,,,,,,,,,,%%%%%,,,...........................................................................,....,..........,............................................................................................~~~~~~~~~~~~~~~~~~~~~~~............................................................................................~~~~~~~~
,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,,,%%%%%%,,,,,,,,%%%%%%%,,%%%%%,,,,,,,,,******,,%%%%%,,%%%%%%%%%%,,,,,,,,,,,,,%%%%,,%%%%%%%%,,,%%%%%,,%%%%%,,,,,,,,,,%%%%%,,,,..........................................................................................,...,..........................................%............................................~~~~~~~~~.~.,~~~~~~~~~~~~~..........................................................................................~~~~~~~~
,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,,i,,i,%%%%,,%%%%%,,%%%%%%%%%%%%%%%,,,,,,,,,,,%%%*,%%%%%,,%%%%,%%%%%%%%,,,,,,,,,%%%%%%,%%%%%%%%,,,,%%%%,,%%%%%,,,,,,,,,,%%%%%,%%%,,..............................................................................,.........,...,,,........................................%............................................~~~~~~~,.%.%%..,,~~~~~~~~~~~~~~.....................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,%%%,,,,,,,,,,%%%,,,,,%%%%%,%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,%%%%%,%%%%,,%%%%%%%%%,,,,,,,,%%%%%%,%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%%%%%,,,...............................................................................,.....................................................%............................................~~~~~~~,%.%%%.%%%%%%%~~~~~~~~~~.....................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,%%%%%,%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,%%%%%,%%%%%%%%%,%%%%%,,%%%%%,%%%%%%,%%%%%%%,,,,,,,,%%%%%%%,,,,,,,,,,,,,,,,%%%%%,,,...........................................................................,,...................................................................................................-.~~~~~~,..%%%..%%%%%%%%~~~~~~~~~~....................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%,,,i,,,,,i,,,,,,,%%%%%%%%%,,,,%%%%%,%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,***%%%%%%%%%,%%%%%,,%%%%%,,%%%%%%%%,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%,....................................................................................................................................................................................~~~~~~,%%.%.%%%%%%%%%%~~~~~~~~~~....................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%%%%,,ii,,%%%%i,,%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,,**%%%%%%%%%,%%%%%,,%%%%%,,,,,%%%%%,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%............................................................................,..,..,...................................................................................................~~~~~~%.%%.%%%%.%%%%%%~~~~~~~~~~~...................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%%%%,,,,,,%%%%%i,%%%%%%%%%%%,,,,,%%%%%%%%%%%%,%%%%%%%%%%,,,,,,,,,,,,,,,,,,****,%%%%%,%%%%%,,%%%%%,%%%%%%%%%,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,%%%%,,,,,,............................................................................,............,,..........................................................................................~~~~~~%%.%,.%%%%.%%%%~~~~~~~~~~~~~~.................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%%%%,,,,,%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%,,%%%%%,,,,,,,,,,,****,%%%%%,%%%%%,,%%%%%,%%%%%%%%%,,,%%%%%,,,%%%%%%%,,,,,,,,,%%%%%%%%%%%%,,.........................................................................,...........................................................................................................~~~~.,..%,%%%%%%%%%%%~~~~~~~~~~~~~~~................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,%%%%%,,,,%%%%%%%,,,%%%%%%%%%,%%%%%%%%%%%%%%%%%,%%%%%%%%%%,,%%%%%,,,,,,,,,,,*%%%%,,,,,,%%%%%,,,,,,,,%%%%%%%%%,,,%%%%%,,,%%%%%,,,,,,,,,,,%%%%%%%%%%%%,,,.........................................................................,,..................,....,................................................................................,~~~~%%.%,%%%.%%%%%%%%~~~~~~~~~~~~~~~~~..............................................................................~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,%%%%%,,,,%%%%%%%,,,,%%%%%,,,,%%%%%%%%%%%%%%%%,,%%%%%%%%%%,,%%%%%,,,,,,,,,,,*%%%%%,,,,,,%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,%%%%,,,,,,%%%%%%%%%%%%,,,%%%.......................................,...............................,................,.ii....%%%%%...%%%%%......................%%%.................................%%%%%....,~~~.%.%%%%%%%%%%%%%%.~~~~~~~~~~~~~~~~~..............................................................................................~~~~~~~~
,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%,,,%%%%%%%,,,,,%%%,,,,,,,,,,%%%%,,,%%%%%,,,,,,,,,,,*%%%%%,,,,,,,,,,,,,,,,,,%%%%,,,,,%%%%%,,,,,,%%%%%,%%%%%,,,,,%%%%%%%%%%%%,,,%%%.........................................,...........................,.,............%............%%%.....%%%............................................................%%%......~~~,.%%.%%%%%%%%%%%%%%~~~~~~~~~~~~~~~...............................................................................................~~~~~~~~
,,,,,,,,%%%,%%%%,,,%%%%%%%%%%%%,,,,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,***%%%%***,,,,,,,,,%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%,,,%%%%%,,,,,,%%%%%,%%%%%,,,,,%%%%%%%%%%%%,,,%%%..............................i........................................,,...........%....,..,....................................................................................~~,.%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~................................................................................................~~~~~~~~
,,,,,,,%%%%%%%%%,,,,,,%%%%%%%%%,,,%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,***********,,,-,,,%%%%%%%,%%%,%%%%,,,,,,,,,%%%%%%%,,%%%%%,,,,,,,,,,%%%%%%%,,,,,,,%%%%%%,,,,i,,%%%....%,...............................,,..................................,..........%..........,............................................................................,,....~,%.%%%%%%%%%%%%%%.%%~~~~~~~~~~~~~....~-...........................................................................................~~~~~~~~
,,,,,,,%%%%%%%%%%%%,,,%%%%%%%%%,,%%%%%%%%%%%%,,~~~,,,,,%%%%%,,,,,,,**********-------%%%%%,,,%%%%%%%%%,,,,,,,,%%%%%%%,,%%%%%,,,,,,,,,%%%%%%%%%,,,,,,%%%%%%,,,,,,,%%%%%%%%,...............................,...,..............................................,,.................................................................................,,~~~...,%%%%%%%%%%%%...%%%%~~~~~~~~~~~~~...~~--..,,.,....................................................................................~~~~~~~~
,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%~~~~~~~~~%%%%%,,,,,,,,*******,--------%%%%%,,,%%%%%%%%%,,,,,%%%%%%%%%%,,%%%%%,,,,,,,,,%%%%%%%%%,,,,,,%%%%%,,,,,,,,,,,,%%%%,,,,.....................................,..........................,................,,..............................................................................,,,~~~~..,%%%%%%%%%%%%%.%%.%%~~~~~~~~~~~~~~~.~~--.....,....................................................................................~~~~~~~~
,,,,,,,%%%%%%%%%%%%%%%,%%%%%%%~~,%%%%%,,,%%%%%~~~~~~~~~%%%%%,,,,,,,,%%%%%,,---**----%%%%%,,,%%%%%%%%%,,,,%%%%%,,%%%,,,,,,,,,,%%%%,,,%%%%%%%%%,%%%,,%%%%%,,,,i,,,,,,i,,,,,,,,,..................................,........................................,....................................................................................,,,~~~~~,,%%%%%%%%%%%%%%.%%~~~~~~~~~~~~~~~~~~~~-...............i...........................................................................~~~~~~~~
,,,,,,,,,,,,%%%%%%%%%%,~~~~~~~~~~~%%%~~,,%%%%%~~~~~~~~~%%%%%~~~,,,,,%%%%%,,-----------,,,,,%%%%%%%%%%,,,,%%%%%,,,,,,,,,,,,,,,%%%%%~~%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,.......................................................i.......,..........,,...,...............................................................................,,,~~~~~,,%.%%.%%,%%%%%..-~~~~~~~~~~~~~~~~~~~~~-.........i.................................................................................~~~~~~~~
---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%~~~~~~~~~~~~~~~~~~,%%%%%~~~~~~~~~~~~~~~~~~,,,,%%%%%,,-----------,,,,,%%%%%,,,,,,,,,%%%%%%%%%,,,,,,,,,,,%%%%%~~~~~~%%%%%%%%%%%%%%,,,,,,i,i,,,,,,,,,,,,,%%%,...%...............................................i......................,..................................................................................,,,~~~~~,,%%%%.,.,%.%%%%.%~~~~~~~~~~~~~~~~~~~~~,......,..i.................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,------~~~~~-,,,,,%%%%%,,,,,,,,,,%%%%%%%%%,,,,,,,,,,%%%%%~~~~~~,,,,,%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,%%%%%...%%.....................,..................................................................................................................................,,,~~~~~,.%.%%.,%%.%%%%%%%~~~~~~~~~~~~~~~~~~~~~,...........................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,----~~~~~~~,,,,,%%%%%,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%~~~~~~~,,,,%%%%%%%%%%,,,,,,,%%%%%%%,,,,,,%%%%%%%%%%..............................................i......................,,.........................................................,.......................,,,~~~~~,,%%%%.%%%.%%.%%.%%%~~~~~~~~~~~~~~~~~~~,.......i..i................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,---~~~~~~~~~,,,,%%%%%,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,~~~~~~~~~~~,%%%%%%%%%%%%,,,,,,%%%%%%%%%%,,,,%%%%%%%%%%................,......................................................................................................................,......,........,**,,~~~~,,..%.%.%%%.%..%.%%%%%~~~~~~~~~~~~~~~~~-..,..,.....,...............................................................................~~~~~~~~~~~~~~~~~~~~~~~~
-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%%,,,,,,,,,,,~~~~~~~~~~~%%%%%%%,%%%%%,,,,,,%%%%%%%%%%%,,,,%%%,,%%.......................................................................................................................................,.................***,,,~~~,,......%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~.....i......................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,%%%%,,,,,,,%%%%%,,,,,,,,,,-~~~-~~~~~~~%%%%%,,,%%%%%,,i,,,%%%%%%%%%%%,,,,,%,,,,.........................................................................................................................................,,...............,*,,,,,,~,,.....%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~....,.......................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%,,,,,,,%%%%%%%%%%,%%%%,~~-~~~~~%%%%%%%%%%%,%%%%,,,,,,%%%%%,%%%%%%%,,%%%,,,,%.....,...........,...............................,,.....,.............................................................................,..................,,,.,,,~,,%....%%%%%%%.%%%%%%%~%~~~~~~~~~~~~~~-...........i................................................................................~~~~~~~~~~~~~~~~~~~~~~~~
------------,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%,%%%%,,%%%%%%%%%%%%%%%,~~~~~~~%%%%%%%%%%%%,,,,,,,,%%%%%%%%,,%%%%%%,,,%,,,,,%%%....,....,..,..........................................................................................................................,...,.................,,,%.%%...%%%,%%%%%%%%%%%%~~~~~~~..~%%%--.............i..............................................................................~~~~~~~~~~~~~~~~~~~~~~~~
------------,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,,,,,,,%%%%%,,,,,,%%%%%%%%,%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,--~~~~~%%%%%,,%%%%%,,,,,,,%%%%%%%%%,,%%%%%%,,%%%%%,,,%%%.........................................................,..................................................................%%%%%..,..,,....................,,,%%%%%.,,,,,%%%%%%%%%%%%%~~~~~...%%%%%......%%%%%......................................................~~~~.................................~~~~~~~~~~~~~~~
------------,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%,,,%%%%%,%%%%,,,%%%%%,,,,,,%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%,,--~~~*%%%%%,,%%%%%,,,,,,,%%%%%%%%%,,,%%%%%,%%%%%%%,,,...,..............................%...................,...........................................................%............%%%...,..,......................,,.%%%..,%%%%%%.%%%%%%%%%%~~~~....%%%.........%%%......................................................~~~~~................................~~~~~~~~~~~~~~~~
~-----------,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%,,,%%%%%%%%%%,,,%%%%%,,,,,,%%%%%,,%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%,,,%%%%%%%%%,,,,%%%%%%%%,,,,-,,,,%%%%%,,%%%%,,,,,,,,%%%%%%%%%,,,%%%%%,%%%%%%%,,......,...........................%%..................,............................................................%..................,.........................,,%.%%%%%%%%%%%%%%%%%%%%%%~~~~~...%%...................................................................~~~~~................................~~~~~~~~~~~~~~~~
~-----------,,,,,,,,,,,,,%%%%%%%%%,,,%%%%%,,,%%%%,%%%%%,,,%%%%%%,,,%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%,,%%%%%%%%%%,,,,,%%%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%%%%%%%%%,,,,,%%%%%%%,...,.,.............................%%.................,......i......................................................%..................,.........................,,,%%%%%%%%%%%%%%%%%%%%%%%%~~~~~...%..................................................................~~~~~~....~~...............~...~~~~~~~~~~~~~~~~~~~~~~~
~~-----------,,,,,,,,%%%%%%%%,,,,,,,,%%%%%%%,,,,,,%%%%%,,,%%%%%%,,,%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%,,%%%%%%%%%%,,,,%%%%%%%%,%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%,,,,%%%%...,.....,.............................%%.....................,....i.........................................................................,......,.................,,%%%,%%%%%%%%%%%%%%%%%%%~~~~~~~................................................................~~..~~~~~~~~~~~~~~~............~~~.~~~~~~~~~~~~~~~.~~~~~~~~
~~~------------%%%,,,%%%%%%%%,,,,,,,,%%%%%%%,,,,,,%%%%%,,,,%%%%%,,,%%%%%%%%%,%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%,,%%%%%,,,,,,,,,%%%%%%%%,%%%%%,,,,,,,%%%%%%%%,,,,,,,,,,,,%%%%%%%%%,,,,%%%............,............................%..................................................................................................,..........................,,%%,%.%%%%%%%.%.%%%%%%%~~~~~~~,...............................................................~~~~~~~~~~~~~~~~~~~~~..........~~~~~~~~~~~~~~~~~~~~.~~~~~~~~
~~~~----------%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%,,,%%%%,,,,%%%%,%%%%%%%%%%%%%%,,,,,,%%%%%%%%%,%%%,,,,,,,,%%%%%%%%%,,,,,%%%..........,...............................................................................................................,...........................................,%%%%.%%%%%%%%%%%%%%%%%%~~~~~~~................................................................~~~~~~~~~~~~~~~~~~~~~~.........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~---------%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%,,,%%%%%,,,,,,,%%%%%,%%%%%%%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%%,,,,,,,%%%%%%%%,,,,%,,,,......,,,.......,......................................................................ii....................................................,........................,%%%.%%%%%%%%%%%%%%.,%~~~~~~~~~,...............................................................~~~~~~~~~~~~~~~~~~~~~~..........~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~--------%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%,,%%%%%%%,,%%%%%%%%%,%%%%%,,,,,,,,,,,,,~~~~~~~%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%%%%%%%%,,,,,,%%%%%,,,,%%%%%,,,%%%%%%%%%,,,,,,%%%,,,.....,......,.........................................................................................................................................................,%%%..%%%%%%%%%%%%%,--~~~~~~~~~,................................................................~~~~~~~~~~~~~~~~~~~~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~-------%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%,,%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,~~~~%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%,,,,%%%%%,%%%%%,,,%%%%%%%%%%,,,,,,,,,%%%,,%%%%%%%%%%%%%%%%,,,,,,,,,,,%,,,,,...,....,....,,.................................................................................................................,.................................%..,%%....%%%%%%%%%%%%.,-~~~~~~~~~,.%%.............................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~------%%%%%%%%%%%%%,,,,,,,%%%,,,,,,,,%%%%%%%,,%%%%%%%%%,,%%%%,,,,,,,,,,,,,,,,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%,,,,%%%%%,%%%%%,,,%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,.,%.........,,..,...........................................................................i...............................,......................................%%%%%%%.%.....%%%%..%%.%%%,~~~~~~~~,,%%%............................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~--------,,,,,%%%%%,,,,,,%%%%%,,,,,%%%%%%%%,%%%%%%%%%%%%,,,,,,,,,,%%%,,,,%%%%,,,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%,,,,%%%%%,,,,,,,,,,,,%%%%%,,,,,%%%%%%%%,,,%%%%%%%,%%%%%%%%,,,,,,,,,,,,,,.%%%............,..........................................................................................................,......,................................,%%%%%%.,...%%%.%%%%%%%%%%,~~~~~~~~,,%%%............................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~--------,,,,%%%%%,,,,,,%%%%%,,,,%%%%%%%%%,%%%%%%%%%%%%,,,,,,,%%%%%%%,,%%%%%,,,,%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%,,,,%%%%%,,,,,,,,,,,,%%%%%,,,,,%%%%%%%%,,,%%%%%,,,%%%%%%%%,,,,,,,,,,,,,...%%.........................................,.................................................................................,...................................,,%%%%%%%...%%%%%.%%.%%%%%,~~~~~~~~,.%%%...........................................................~~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~--------,,,%%%%%,,,,,,%%%%%,,,,%%%%%%%%%,%%%%%,,%%%%%,,,,,,%%%%%%%%%,%%%%%,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,%%%%%,,,,,,,,,,,,%%%%%,,,,,%%%%%%%%,,,%%%%%,,,,%%%%,,,,,,,,,,,,,.......%...........................................................................................................................,...................................,,%%%%.%....%%%%%%%%%%..%%-~~~~~~~~,,%%%................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~---------,,,%%%,,,,,,,%%%%%,,,,%%%%%%%%%,%%%%%,,%%%%%,,,,,,%%%%%%%%%%%%%%%,%%%%%,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,%%%%%%%%%%,,,,,,,,%%%%,,,,,%%%%%%%%,,,,,,,,,,,%%%%,,,,,,,,,,,,,,.............................................................................................................................,.,.....................................i,%%%%%%..%.....%..%.%.%%%%%-~~~~~~~~,,%%%................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~--------,,,,,,,,,,,,,%%%%%,,,,%%%%%%%%%,%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%%%,%%%%%,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,%%%%%%%%%%,,%%%%,%%%%%,,,,,%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,%%%%.................,,.........................................................................................................,,,,.......................................%%%%%%.%......%%%%%%%%%%%%-~~~~~~~,,,,%%................................................................~~~~~~~~~~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~-----,,,,%%%%%%%,,,,%%%%%,,,,%%%%%%%%,,%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%,,,%%%%%,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%,,,%%%%%%%%%%,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,%%%%%,,,%%......................%%%......................................%%...............%...............................................,,...........................%..........,%%%%%%%%%.%...,..%%%%%%.---~~~~~~~,,,.................%%%.............................................~~~~~~~~~~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~----,,,%%%%%%%%%%%%%%%%,,,,,%%%%%,,,,,%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%.%%%,%%%%%,,,,,,,,%%%%%,,%%%%%%%%%%,,,%%%%,,,,,,,,,,,,%%%%%%%%%%%%%%%%,,,%%...............................................................%%...............%...................,.............................,......................................%%%%%%%%.....,,.%.%%.%----~~~~~~~%%%.............................................................~~..~~~~~~~~~~~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~----,,,%%%%%%%%%%%%%%%%,%%%%%%%%%,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%,,,%%%%%%%%%---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,~~~~~%%%%.,,,,,%%%%%,,,,,,,,,%%%%,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%%%%%%%%%%%%,,,%%...............................................................%%..............................................................,.,,......................................%%%%%%%%.%,,,,,,,,..,----~~~~~~~%%%%....,........................................................~~~~~~~~~~~~~~~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~----,,%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%,,%%%%%%%%%,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,%%%%%%%%%%,,,,,%%%%%%%%%,,,,,,,,,,%%%%%,i,,,%%%%%%%%%%%%,,,,,,,,%%%%%,,,%%%%%%%%,,,,%.............................,..................................%....................................,...................................................................%.%.%%%%%%,,,,,,,,,,,---~~~~~~~-%%%%.............................................................~~~~~~~~~~~~~~~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~-----,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%,%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%%,,%%%%%%,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------%%%,%%%%%%%%%%,,%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%,,,,,,,,%%%%%,,,%%%%%%%,,,,,,,..............................................................................................................................,........................................%%.%%%%%%%%,,,,,,,,,,,--~~~~~~~~-%%%%.............................................................~~~~~~~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~-----,,,,,,,,%%%%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,---~~~~~~~~%%%%%~~~~---~~~~~~~--------%%%%%%%%%%,%%%%,,%%%%%%%%%%%%%,,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,.........................................................................................................,...........................,.........................%.......%%%%%%%%.%,,,,,,,,,,,,--~~~~~~~~,,............................................................~~..~~~~~~~~~...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~-----,,,,,%%%%%,,,,%%%%,%%%%,,,,,%%%%%%%%%%%%%%%,,,,,,%%%,,,,,,,,%%%%,,,,,,%%%,,,,,,,,,,---~~~~~~~%%%%%---,-%%%%%------------%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%,,,%%%%,,%%%%,i%%%%%%%%,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,%...........................................................i..%...............................................................................................%........%%%%%%%%%,,,,,,,,,,,,,~~~~~~~~~,,............................................................~~~~~~~~~~~~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,
~~~~~~~~~~~~~~~~------,,,,%%%%%%%%,,,,%%%,,,,,,,,%%%%%%%%%%%%%%,,,,,,%%%%%,%%%%,%%%%%%,,,,,,,,,,,,,%%%%%------~~~~%%%%%,,,,,%%%%%---~~%%%%,-,%%%%%%%%%%,%%%,,,%%%%%%%%%%%%%,,%%%%%,,,,,,,,%%%%%,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%................................................i............%%...............................................................................................%........%%%%%%%%%,,,,,,,,,,,,~~~~~~~~~~,,...........................................................~~~~~~~~~~~~~~...~~~~~~~~~~~,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,
~~~~~~~~~~~~~~~~-----,,,,,%%%%%%%%,,,%%%%%%%%,,,,%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%,%%%%%%%%%%%,,,,,,,,%%%%%---------,%%%%%,,,,,%%%%%---~~%%%%%,,%%%%%%,,,,%%%%%,,%%%%,,%%%%%%%,,%%%%%,,i,,,,,%%%%%,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,%%%%%,%%.............................................................%%.......................................................................................................%%%%%%%%%%%%,,,,,,,,~~~~~~~~~~~~,............................................................~~~~~~~~~~~~~~.~~~~~~~~~~~~,,,,,,-------,~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,~~~~,,,,,,,,,,,~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~----,,,,,%%%%%%%%,,,%%%%%%%%,,,,%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%,,,,,%%%%%%%----%%%%%%%%,,,,,,%%%%%%%~~~%%%%%,,,%%%%%,,,,%%%%%,,,,,,,,,,%%%%%,,%%%%%,,,,,,,i%%%%%,,,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,%%.................................................i...........%%...............................................................%..............................%%......%%%%.%%%%%%%,,,,,,,,,,~~~~~~~~~~~~.............................................................~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,-------,,,,~~~~~~~~~~~~~~~~~~~,,,,,,,,,~,,,,,,,,,,,,,~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~----,,,,,%%%%%%%%,,,%%%%%%%%,,,,,,,,,,%%%%%%%,%%%%%%%%%%%%%%%%,,%%%%,%%%%%%%%,,,,,%%%%%%%%,-,%%%%%,,,,,,,,,%%%%%%%~~~%%%%%~~,%%%%%,,,,%%%%%,,,,,,,,,,%%%%,,%%%%%%,i,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,%..............................................................%...............................................................%....,..........%..............%%......%%%.%%%%%%%%,,,,,,,,,,~~~~~~~~~~~~................................................................~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,-----,,,,,,~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~----,%%%%,,,%%%%%%,,%%%%%%%%,,,,,,,,,,%%%%%,,,%%%%%,%%%%%%%%%%,,,,,,,%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%~~~%%%%%%%%%%%%i,,%%%%%%%,,,,,,%%%%,,,,,,%%%%%%%%%,,,,,,,i,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,.................,,...............................i...........%%...............................................................%.....,.........%............%%%%......%%.%%%%%%%%,,,,,,,,,,,~~~~~~~~~~~~................................................................~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,-,,,,,,,,,,~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~---,%%%%%,,,%%%%%,,,,,%%%%%%,,,,,%%%%%%%%%,,,%%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%~~~~%%%%%%%%,,,,,,%%%%%%%,,,,,%%%%%,,,,,,%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%,,.................,,,..........................................%%...,...........................................................................%.....i......%%%%.....%%%%.%%%.%%,%,,,,,,,,,,~~~~~~~~~~~~-,.............................................................~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,%%%%~~~~~%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~---,%%%%%,,,%%%%%,,,,,,%%%%%,,,,,%%%%%%%%,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,%%%%,,,,%%%%%%%%%%%%%%%%%%%,,,,%%%%,%%%%,~~~~%%%%%%%%,,i,,i%%%%%%,,,,,,%%%%%,,%%%,%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,,................,,,,,,........................,,.............%%................................................................,..................i.......%%%%%.....%%%%%%%%%%%%%,,,..,,,,,,~~~~~~~~~~~~...............,................................................~~~~~~~~~~~~~~~~~~,,,,,,,,,,,.,,,,,,,,,%,,%%%%~~~%%%%%%%%,,,,,,.,..,,,,,,,,,,,,,,,..~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~----%%%%%,,,%%%%%,,,,,,%%%%%,,,,,%%%%%,,,,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%%,,,%%%%%%%%%%%,,,,%%%%%,,,,,,,,~%%%%%%%%,,,,,,%%%%%,,,,,,,%%%%%,%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,%%%%,%%%%%,,,,,%%%%%%%%%%%%,,,,,,%%.................,,,,,.......................,................%................................................................,..............%...........%%%%%.....%%.%%%%%%.%%%,%%%%%,,,,,,%%%%~~~~~~....~~...........................................................~~~~~~~~~~~~~~~~~,,,%%%,,.%%%%.,.,,,,,,%%%%%%%%%%%%%%%%%%,,,,,%.%%%,,,,,,,,%%%%%,.%%%%.~~~~~~~~
~~~~~~~~~~~~~~~~~~---,%%%%%-,,,%%%,,,,,,,%%%%%%,,,,%%%%%,,,,,,,%%%%%%%%%,,,,,,,,,,,,%%%,,,,,,,,,,%%%%%,,,,%%%%%%%%%%,,,,,%%%%%,,,,,,,,~%%%%%%%%,,,,,,%%%%%,,,,,,,,%%%%%%%%%%,,,,,%%%%,,,%%%%%,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%,,,,,%%%.................%%%,,....................,.,...................,.............................................................................%...........%%%%%....%%%%%.%%%%%.%%..%%.%,,%%%%%%%%%~~~~~....~~.........,..................................................~~~~~~~~~~~~~~-,,,%%%%,,,%.%%%,%.%,,,%%%%%%%%%%%%%%%%%%%%,,,%%%%%%.%%%....%%%%%%%.%.%.~~~~~~~~
~~~~~~~~~~~~~~~~~~--i,,,-------,,,,,,,,,,,%%%%%,,,,%%%%,,,,,,,,%%%%%%%%%%%,,,,,,,,,%%%%%%%%%,,,,,%%%%%%%%,,,,%%%%%,,,,,,,%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%,,,,,,,,,,,,%%%%,,,,,,%%%%%%%.............%%%%,,......................%%...,........................................%%%%%......................,.................%%%%%.%%%%%........%%%%%%%%%%%%%%%%%%%.%%.%%%%%.%%%%%%%.%%~~~~~~...~~~......,.,,................................................~~~~~~~~~~~~~~~,%%%%%.%.,.%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%.%,%..%%%%.%%..%%.%%%%%..%%%%.~~~~~~~~
~~~~~~~~~~~~~~~~~~--i,,---------,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,%%%%%,%%%%%,,,,%%%%%%%%%%%%%%,,,,,%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%%%%,,,,,%%%%%,,,,,,,,,,,,%%%%%%%...........%%%%%%,,,.%%..................%%.............................................%%%..........................................%%%...%%%..........%%.%%%%%%%%%%%%%%%%%%.%%%%..%%%%%%%%%%~~~~~~~~~~~~.......,..................................................~~~~~~~~~~~~~~-.%%%.%%.%%,%.%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%.%%%%.%%%%%%%...%.%.~~~~~~~~
~~~~~~~~~~~~~~~~~~--,,-----------,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,%%%%,%%%%%,,,,%%%%%%%%%%%%%%,,,,,%%%%%%%%,,,,,,,%%%%,,,,%%%%%,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%%%%,,,,,%%%%%,,,,,,,,,,,,,%%%%%%..........%%%%%%%,,,%%%%..................%....................,.........................................................................................%.%%%%%%%%%%%%%%%..%%%%%%%%,%%%%%%%%%~~~~~~~~~~~~~.........................................................~~~~~~~~~~~~~.%%%%%.%%%%%.%%.%%%.%.%%%%%%%%%%%%%%.%%%%%%%%%%%%%%.%.%%%%.%%%%.%%%....%%.~~~~~~~~
~~~~~~~~~~~~~~~~~~--,,-----------,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%%%%%%%%%%,,,,,,%%%%%%%,,,,,,,%%%%%,,,%%%%%,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,%%%%%%%,,,,,,,,,,%%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,%%..........%%%%%%,,,,,,,,..,....................................,................................................,..,.........................................%%%%%,,,,,,%,,%.%%%%%%,%,%%%%.%%.~~~..%%%~~~~~~......~~....,,,.........................................~~~~~~~~~~~~~%%%%%%.%%%%...%%%%%..%%%.%.%%%%%%%%%%.%%%%.%.%%%%....%%%.%%.%.%%%%%%%.,%%,~~~~~~~~
~~~~~~~~~~~~~~~~~~---------------,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,,,%%%%%,,,%%%%%,,,,,,,%%%%%%%,,,,,,,%%%%%,,,%%%%%,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,%%%,,,,,,,,%%%.......%%%%%%,,,,,,,,,,,......................................................................................................................................%..,~~~~~,,,%%%%%%%%.%.,,,%,,%...%%%%%%.~~~~~~~~.~~~~~..~~,,,........................................~~~~~~~~~~~~~.%%%%%.%.%%%%%%%%%%,%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%..%%.%%%%%%%%%%.%%,,,~~~~~
~~~~~~~~~~~~~~~~~~-------~~~------%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,%%%%%,,,,,,,,,%%%%%,,,%%%%~~,,,,,,,,,-%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%,,,,%%%%,%%%%%%%%,,,%%%%%,,,,,,%%%%%.%%%%%%%%~,,,,,,,,i,,,i,,..................,............................................................,...,..,..........................,....................,~~~~~,,,.%%%%%%%..,,,..,,.%%%%%%%%%~.%.%%~~~~~~~~~~.~~~,,.......................................%%~~~~~~~~~~~.%%.%%%..%%..%%%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%%%.%..%%%%%%%%%%%,%,,,,,,
~~~~~~~~~~~~~~~~~~------~~~~~~~~~,%%%%%%%%%,,,,%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%%%%%,,,,,%%%%%,,,,,%%%%%%%%%,~~~~~~~~~~~~,,----%%%%%%%%,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,,,%%%%%,,,%%%%%,,,,%%%%%,,,%%%%%,,,,,,%%%%%%%%%%,,,,~,,,,,,,,,i,,,i,,...............................,................................................,...,.................................................~~~~~,.%%%%%%%%%%%%..,,%%%%%.%%%%%%%%%%%%%~~~~~~~~~~~~~~,........................................~~~~~~~~~~~~~%%%%%%.%%%%.%%%%%...%,,,%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~------~~~~~~~~~,,,,,,%%%,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%%%%%%,,,,%%%%,,,,,%%%%%,,,,~~~~~~~~~~~~~~~~----%%%%%,,,,%%%%%,,%%%%%,,,,,,,,,,,,,%%%,,,,,,,%%%%%%%%%%,,,,,,,,,%%%%%%,,%%%%%,,,,%%%%%%%%%%%%%,,,%%%%%%%%%%%%%,,,,%%%,,,,,i,,i,,,,,.......................................................................,...........,,...................................................~~~~.%%%%%%%%%%%..%.,%%%%%%%%%.%%%.%%%%%~~~~~~~~~~~~~~~..............................%........%%~~~~~~~~~~~-%%%%...%.%..%%%%.%.%%,,,,%%%%%%%%%%%%%%%%%%%%,%%%%%%%%...%%%.%.%%%%%%%%%%%%%%,,,,,
~~~~~~~~~~~~~~~~~~------~~~~~~~~~~,,,,,.,,,%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,~~~~~~~~~~~~~~~~~~~---%%%%%%%,,%%%%%,,%%%%%,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%,,,,,,,,,,%%%%%,,%%%%%,,,,%%%%%%%%%%%%%,,,%%%%,,,,~~~,,,,,%%%%%%%%,,,,,i,i,%................................................................................,.,.,........%..........................................~~~~%%%%%%%%%%%%%.%.%%%%%..%%%%%%%%%%%%%%~~~~~~~~~~~~~~~,,,...................................%%~~~~~~~~~~~-.%%.%.%%%%%.%%%%%.%%%.%.,...%.%%%%%%%%%.%%%,,,%%%%%%%%%%%.%.%%%%.%%%%%%%%%.%,,,,,,
~~~~~~~~~~~~~~~~~~-------~~~~~~~%%%%,,,,,,.%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~--%%%%%%,,%%%%%,,%%%%%,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%%%,,%%%%%%%%%%,,%%%%%,,,,%%%%%%%%%%%%%,,,%%%%%,,,,~~,,,,,%%%%%%%%,,i,,,,,%........................................................................,,.......,...........%%......................,................~~~~~~~%%%%%%%%%%%%%%..%%%%%.%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~,,,,.........................%........%%~~~~~~~~~~~~%%%%%%.%%%%%.%%%%%%%.%%,,,%..%%%%%%%%%%%..%.,%%%%%,%.%%%.%.%%%%%%%%%%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~--------~~~~~~%%%%%,,,,,,%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%,,,,,,,%%%%%%%%%%%,,,,,,,,,,,,,-%%%%~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%,,,%%%%,,%%%%%,%%%%%,,,,,,%%%%%,,,,,,%%%%%%%%%%%%%,,%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%%%,,,%%%%%,,,,~~,,,,,%%%%%%%%,,%%%%%,%.......................................................................,....,................%%.....................................~~~~~~~~~.%%%%%%%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%--~~~~~~~~~~~~,,,,........................%%........%%%~~~~~~~~~~~~%%%%%%%..%%%.%%%%%.%.%..,.,%%%%%%%%%%%%%%.%%%%%%%,,.%%%%%.%%%%%%%%%%%%%%.%%,,,,,,
~~~~~~~~~~~~~~~~~~-----,,,,-,~~~%%%%%%%%,..%%%%%,,%%%%%%%%%,,,,,,,,,,,%%%%%,,%%%%,%%%%%%,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%,,,,,%%%%,%%%%%%%%%%,,,,,,%%%%%,,,,,,%%%%%%,,%%%%%,,%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%,,,%%%%%,,,,%%%,,,,%%%%%%%%%%%%%%%,%......%......................................................................................%%.....................................~~~~~~~~~-%%.%.%%.%%%.%%%.%%%%%%%%%%.%%%%%%%%%-------~~~~~~~~,,,..............,..........%%........%%~~~~~~~~~~~~~..%%%%%%..%%,.%.%%%.%%....,%%.%%%%%%%.%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~----,,,,,,,,~~%%%%%%%%,,,,%%%,,,%%%%%%%%%,,,,%%%%%%%%%%%%,%%%%%,%%%%%,,,,,,,,%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-%%%%%,,,,,%%%%%%%%%%%%%%%,,,,,%%%%%,,,,,,,,%%%%%,%%%%%%,,%%%%%%%%%,,,%%%%%,,,,,,%%%%%%%%%%%,,,,,,,,,,,%%%%%,,,%%%%%%%%%%%%%%%,,%%%%.%%%,.............................................................,.,.....................%....................................~~~~~~~~~~%%%.%.%%%.%%.%%.%%%%%%%%%%%%%%%%%%%%%%%,,----~~~~~~~~,..............,.....,......%...........~~~~~~~~~~~~~,%%%%%%%.%.,i%%...%%.%%...%%%%%%%%%%%.%%.%.%%%%%%%%%%%.%.%.%%%%%%%%%%%%.%%,,,,,,
~~~~~~~~~~~~~~~~~-------,,,,,%%%%%%%%%%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,%%%%%,%%%%%,,,,,,,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,%%%%,,,%%%%%%%%%%%%%%%,,,,%%%%%%%%,,,,,,%%%%%,%%%%%%,,%%%%%%%%%,,,%%%%%,,%%%%%%%%%%%%%%%,,,,,,,,%%%%%%%%,,%%%%%,,,%%%%%%%%,,,,,%%%%%.......,................................................................................................,.,,.....,......~~~~~~~~~~~~~%%...%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,i--~~~~~~~~,,............,.............%.........~~~~~~~~~~~~~~~~.,.,..%%%%%%%%.%...%%%%%,%%.%%%%%%,%%%%.%.%%%%%%%%...%.,,..%%%%%%%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~--------,,,-%%%%%%%%%%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%%%,,,,,%%%%%,,%%%,,,,,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%,,%%%%%%%%%%%%%%%,,,,%%%%%%%%,,,,,,%%%%%,%%%%%,,,,,,,%%%%%,,,%%%%%,,%%%%%%%%%,%%%%%,,,,,,,,%%%%%%%%,,%%%%%,,,%%%%%%%%,,,,,,%%%................................................................,........................................................~~~~~~~~~~~~~%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.,,,---~~~~~~~~,...................,................~~~~~~~~~~~~~~~~~,,,%%%%%%%%..%%%.%%%%%%%%%%.%%%%%%,..%.%%%%.%.%%%%%%...%%%%%%%%%%%%%%%%,,,,,,,
~~~~~~~~~~~~~~~~---------,-~~%%%%%%%%%%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%%%,,,,,%%%%,%%%%,,%%%%,,%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%,,%%%%%%%%%%,,,,,,,,,%%%%%%%%,,,,,,%%%%%,%%%%%,,,,,,,%%%%%,,,%%%%%,,%%%%%,,,,,%%%%,,%%%%,,,%%%%%%%%,%%%%%%,%%%%%%%,,,,,,,,,,,........................,,...............................................................................................~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%..%%%%,,%%%%%%%%%%%%.%%%%i,----~~~~~~~,.....................................~~~~~~~~~~~~~~~~,%%%%%%%.%%%.%%%.%%%%%.%%%%%.%%%%%%%.%.%.%%%%..%%%%%,.%.%.%%%%%%.%%%%%,,,,,,,
~~~~~~~~~~~~~~~-----------~~~%%%%%%%%%%%%%%.,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%,%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-%%%%%,,,,,,,%%%%%,,,%%%,,,%%%%%%%%,,%%%%%%%%%,%%%%,,,%%%%,%%%%%,,,%%%%%%%%%%%%,,,,,,,,,,,%%%%%,,%%%%%%%%,,%%%%,,%%%%%,,,,,,,,,,,,,,,,%%%%%...%%%%%%%.....,,%%...%%...................................%%%%%%%.............................................~~~~~~~~~~~~~~~~%%%%%%...%%%%%%%%%%.%.%,~.%%%%.%%%%%%%%%%%%,%%%%~~~~~~~~,............................%..........~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%.%%%%%.%%.,.%%%%%%%%%%%.%%..%%%.%%%,%.%%%%.%%%%%%%%,,,,,,,,,
~~~~~~~~~~~~~~------------~~~%%%%%%%%%%%%%%.,,,,,,,,,,**%%%%%%%,,,,,,,,%%%%%%%%,,%%%%%,%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,%%%%,,%%%%%,,,,,%%%%%,,%%%%%%%%%,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,%%%%%%%,%%%%%%%%,,%,%%%%,%%%%%%%,,,,,,,,,,,,,,%%%%%,,,%%%%%%%%,..,,%%%%.%%%%.,.................................%%%%%..............................................~~~~~~~~~~~~~~~~%%%%.%%%.%%%%%%%%%%%%%%~~~~~,%%%%%%%%%%%%%%,,%....~~~~~~~,,,,...................................~~~~~~~~~~~~~%%%%%%%.%%%%%%.%%%%%%%%%%%%.%%%%%%%%.%%%...%%%%.%%%%,%%.%%%..%%%%%%%,,,,,,,,,
--~~~~~~~~~~~------------~~~~~~~%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%,,,,,,,,,%%%%%%%%,,%%%%%,%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,-,,,,,,%%%%%%%%,,,,,,%%%%%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%%%%,,,%%%%,%%%%%%%%,%%%%%,,,,,,%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,%%%%%%%%,,,,,%%%%%%%%%%,,i..................................................................................~~~~~~~~~~~~~~~~%%%%%..%%%%%%%%%%%%,,-~~~~~~~%%%%%%%%%%%.....%...%%~~~~~~~,,-....................................~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%%.%..%%%.%.%%%%.%%%%%..%%.%%%%%.,,,,,,,
-----------------------,,~~~~~~-%%%%%%%%%%,,,,,,,,,%%%%,%%%%%%,,,,,,,,,%%%%%%%%,,,%%%%%%%%%,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,%%%%%%%%,,,,,,%%%%%%%%%%%%%,,,,,,%%%%%,,,%%%%%,,,,%%%%%%%%%,,,%%%%%%%%%%%%%,%%%%%%%%,,,,%%%%%,%%%%%%%,,,,,,,,,,,,,%%%%%,,%%%%%%%%%,,,,,%%%%%,,,,,,%......................................,......................,,........,,..........~~~~~.~..~~~~~~-%%%%%%%%%%%%%%%%%%%%--~~~~~~%%%%%%%%%%%%.%..%....%%,~~~~~~~--,.................................--~-~~~~~~~~~%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%,%%%%%...%.%%%%%.,,%%%.%...%%%%%.%%%%%,,,,,,,
----------------------,,,-~~~~--%%%%%,%%%%,,,,,,,,%%%%%,,%%%%%,,,,,,~,,%%%%%%%%,,,%%%%%,,i,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%%,,,,,,%%%%%%%%%%%%%,,,,,,%%%%%,,,%%%%%,,,%%%%%%%%%%,,,%%%%%%%%%%,,,,%%%%%%%%%,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%,,,,,%%%%...................................................,,......,,,,,%%%%%,,,.......~~~~~%.%%.%~~~~~~-%.%.%%%%%%%%%%.%%%%%%~~~~~~~%%%%%%%%%%%%.%%..,...%%,,~~~~~~~--................................-.-~,~~~~~~~~~%%%%%%%%%%.%%%%%%%%%%%%%%%.%%%%%%,,%%%%..%%%....%..%%%%%%%%.%.%%%..%%%%,,,,,,,
-----------------,---,,,,~~~~~~,,,,,,,,,,%%%%,,,,,%%%%%,,,%%%,,,%%%%%%%,,,,,,,,,,,%%%%%,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%,,%%%%%%%%%,,,%%%%%,%%%%,%%%%%,,,%%%%%,,,%%%%%%,,,,,,,%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%,,,,,,,,,,%%%,%%%%%%%,,,,,,,,%%%%%,,,,%%%%%....i............i..............................%%%,,,...,,,,,,%%%%%,,,.......~~%%~%..%%%%~~~~~~%%%%%%%%%%%%%%%%%%%%%~~~~~~~%%%%%%%%%%%%.%%%%%%%.%%,,~~~~~~~~-....................................,,~~~~~~~~%%%%%%%%%%.%%.%%%%%%%%%%%%%%%,,%%%%%%%%...%.%,%%%%%..%%%%%%..%%%%.%.%.%,,,,,,,
-----------------,,,%%%%%,~~~~~~,,,,,,,,%%%%%,,,,%%%%%%,,,,%%%%%%%%%%%%%,,,,,,,,,,%%%%%%%%,,,,i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%,,,%%%%%%%%%,,,%%%%%%%%%%,%%%%%,,,%%%%%,,%%%%%%%,,,,,,,,%%%,,,,,,%%%%%,,%%%%%%%%%,%%%%%%%%,,,,,,%%%%%,,,,,,,,%%%%%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%.........i.....................................%%%%,,,,,,,,,,,,,%%%%,,,~......~%%%%%%%%%%%~~~~~~%%.%%%%%%%%%%%%%%%%%%~~~~~~~~%%%%%%%%%%.%.%.%%%%%%%.,~~~~~~~~--...................................%,~~~~~~~~~,%%%%%%%%%%%.%%%%%..%.%%%.,,,,%%%%%.,%,%%.%%....%%%.%.%%%%.%%%..%%%%%,,,,,,,,
---------,-------,,,%%%%%~~~~~~~%%%%,,,,%%%%%,,,%%%%%%%,,,,%%%%%%%%%%%%%,,%%%%%,,,,%%%%%%%i,i,,~~~~~~~~~~~~~~~~~~~~~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%,,,-~,,%%%%~%%%%%,%%%%%,,,%%%%%,%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%,,%%%%%%%%%,%%%%%%%%,,,,,,%%%%%,,,,,,,,%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,%%%%....................................,.,%.......%%%%,,,,,,,,,,,,,,,,,%%%.......~%%%%%%%%%%%%.~~~~~%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~%%%%%%%.%%%%.%%%%%%%,,~~~~~~~~---..................................%,~~~~~~~~-,,%%%%,%%%%%.%.%.%%%%%%%%%%%,,,%%.....,,,..,%%%.%%%.%.%..%%%%.%.%%%%%,,,,,,,,
---------,,,,--,,,,,%%%%%~~%%%%%%%%%,,,,%%%%%,,,%%%%%%%%%,,%%%%%%%%%%%%%,,%%%%%,,,,,,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~-----,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%,,~~~~,,%%%%%%%%%-%%%%%,,,,,,,,%%%%%%%,%%%%%%%%,,,,,,,,,,%%%%%,,,%%%%%%%%,%%%%%%%%,,,,,,%%%%%,,,,,,,,%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,,,%%%..............i.................,,,,,%%%%.....%%%,,,,,,,,,,,,,%%%%%%%%%......%%%%%%%%%%%~~~~~~~~,%%%%%%%%%%%%%%%%%%%-~~~~~~~~~%%%%%%%.%,.%%%.%.%%%,,~~~~~~~~~.----.............................%%%,~~~~~~~--,,,,,%,,.%%%.%%.%%.,%%.%..%.%%,,%%.%%.%,,..,%.%.%%%%%.%%.%%%%%,.%%%%%,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
--------,,,,,,,,,,,,%%%%%~~%%%%%%%%%,,,,,%%%%,,,%%%%%%%%%%,%%%%%%%%%%%%,,,%%%%%,,,,,,%%%%%,,,,~~~~~~~~~~~~~~~~~~~~------,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%,-~~~~~~%%%%%%%%--------,,,,,,,%%%%%%,,%%%%%%%%,,,,,,,,,,%%%%%,,,,,,%%%%%,%%%%%%%%,,,,,,%%%%%%%,,,,,,,%%%%%%%%%%%,,,,,,,%%%%%,,,,,,,,%%%%...............%...............,%,,,%%%%%...,,,,,,,,,,,,,,,,,%%%%%%%%%~~.~~%%%%%%%%%%%%%~~~~~~~%.%%%%%%%.%%.%%%%%%%-------~~~%%%%%...,,%%%.%%%%.,,~~~~~~~~~~~~~-,............................%%%%,~~~~~~---,,,,,,%%..%%%.%%.,,,.%%%.%.%%%%,,%%.%%%,,.%%%%%.%%%%%.%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
----,,,,%%%%%,,,,,,,%%%%~~~%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%,,%%%%,,,,,%%%%,%%%%%,,,,,,%%%%%,,,~~~~~~~~~~~~~~~~~~~--------,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%~~~~~~~%%%%%~-----------,,,,,,%%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%%%%%,,,,,,,,,%%%%%,,,,,,,,%%%,,,,,,,,%%%%,%%%%%,,,,,%%%%%%%%..............%...............%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%-~~~~%%%%%%%%%%%%~%%%~~~~%.%%%%%%%%%%%%%%%%%%---------,,,%%%%%,,%%%.%.%.%..%~~~~~~~~~~~~~~............................%%%%%~~~~~~---,,,,,,%%%%%%%%%%%%%%,.%.%%%.%%%%,,,.%%%%,%%..%.%.%%%%%%~~%%%%..%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
----,,,,%%%%%,,,,,,,,,,,,,,%%%%%%%%,,%%%,%%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%,%%%%,,,,,%%%%%,,,,~~~~~~~~~~~~~~~~~---------,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%,~~~~~~%%%%%~-----------,,,,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%,%%%%%,,,,,%%%%%%%%..............%...........%,...%,,,~%%%,,,,,,,,,,,,,,,,,,,,,%%%%%%%%----~~%%%%%%%%%%%,.%%%%%~~%%.%%%%%%%%%%%%%%%%%,,,,----,,,%%%%.%,,%%%%.%%%..%%~~~~~~~~~~~~~~.....~~....~...............%%%%%~~~~~~-,,,,,,,,,%...%%%%%.%%%%%,%%%%.%%%%%,,,%.%.%.%%%%.%%~~....~~~~~%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
----,,,,%%%%%,,,,,,,,,,,,,,,%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,,~~~~~~~~~~~~~~~~,--------,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%~~~~%%%%%,-----------,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%,%%%%%,,,,,%%%%%%%%%.......................,,,,..,,,,,~~,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,------%%%%%%%%%.%%%%%%%%%~%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%%,%%%%%%%%%%%%%~~~~~~~~~~~~~~~.~~~~~~..~~..............~,,,~~~~~~~~,,,,,,,,.%%.%%%%%,,%%%%...%.%.%%%%%.%...%.%.%%%%%%%%.~~~~~~~~~~~~~~.%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
----,,,,%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,~~~~~~~~~~~~~~~~~,,,,,,-,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%~~~~~~~~,---~~~~~~~---%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%,,%%%%,,,,,%%%%%%%%%........................,,,.,,,,,,,,,,,,,,,,,,,,.,,..,,%%%%%,,,,,,,,------%%%%%%%%%%.%%%%%%%~%%%%%%%%%%%.%%.%%%,,,,,,,,%%%,,,%%%%%%..%%%%%%%%.%%,~~~~~~~~~~~~~~~~~~~~~~~~~~............~~~~~~~~~~~~,,,,,,,,,,%%%.%,%,..*%%.%..%%.%%.%%%%%%.,.,%%%%%%%%%.~~~~~~~~~~~~~~~.%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,
----,,,,%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%%%%,~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%~~~~~~,,,,-~~~~~~~~~-,%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,%%%%%%%%%,,,,,,,,,,,%%%%%%%%,,,,,,,,,%%%,,,,,%%%%%%%%%,,,,,,,,%%%%%,,,%........................,,,,,,,,,,,,,,,,,,,,,,,,%%.%%,,%%%%%,,,,,,,,,,,-,,,%%%%%.%%%%%%%%%%%~~~~%%%%.%%%%%.%%%%,.%%,,%%%%%%%,,,%%%%%%%.%%..%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........~~~~~~~~~~~,,,,....,,,%%%%%.,%%.%.%%%%.%....%%%%%%%%,%.%%%%%%.%%%.~~~~~~~~~~~~~~~%%%%%%,,,%%%,,,,.,,,,,,.,,,,,,,,%%%,,,,,,,,,,,
----,,,,,,,%%%,,,,,,,,,,,,,,,,%%%%%%%%%%,%%%%%%%%%,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%,~~~~,,,,,~~~~~~~~~~~,%%%%%%%%%,,,,%%%%%%%,,,,,,,,,,,,,%%%%%,,,,%%%%%%%%%,,,,,,,,,,%%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%%%%%%,,%%%%%,%%%%,,,....,,,,.................%%%%%,,,,,,,,,,,,,,,,,,.%%%%%,,%%%%%,,,%...,,,,,,,%%%%%.%%%%%%%.%.%.~~~~...%%%%%,,.,%,%%%%%%%%%%%%%%,%%%%.%%%.%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~........~~~~~~~~~~.,,,..%..,,..%%%%%%.%%.%.%%%%..%%.%%%%%%%%%%%%%%%%...%..~~~~~~~~~~~~~~~,%%%%%%,%%%%%,,,%%%.%%%%,,,%%%%%%%%%,,,,,,,,,,
----,,,,,,%%%%%,,,,,,,,,,,,,,,,%%%,,%%%,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%~~~~~~~~~~~~~~,,,%%%%%,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%,,,,,,,,,,,~~~~~~~~~~~,%%%%%%%,,,,,,,,%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%%%%%%,,%%%%%,%%%%%,%....,,,,....%%%..........%%%%%,,,,,,,,,~,,,,,,,,%.%%%..,%%%%%%,,%%%.%.%%%%%%%%%%%%%.%%%%%%%%%%~~~~~,,%%%,,,,,,.%.%%%%,%%%%%%%%%%%%%%%%%%%%%%%%.%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....~~~~~~~~~~~,,,,,%.%...%%%%%%%%%%%.%%%%%.%.%%...%%%%%%%%%%,,%%%.,.~~~~~~~~~~~~~~~~~~,%%%%%,%%%%%,,%%%%%,%%%%.%%%%%%%%%%,,,,,,,,,,
----,,,,,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,-,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%~~~~~~~~~~~~~~~--%%%%%,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,~~~~~~~~~~~~~~~~~,%%%%%,,,,,,,,%%%%%%%%,,,,,%%%%%%%%%%,%%%,,,,%%%%%,,,,,,,,,,%%%%%%%%%%,,,,%%%%%%%%,,,,%%%%%%%%%%,,%%%%%,%%%%%,%%%..,,,,................,%%%%%,,,,,,,,,~~,,,,,,%%.%%.%,%.%%%%%,,%%.%...%%%%%%%.,%%.%%%%%%%%%%%~~~~~,,,,,,,,,,,,%%%%%%%%%%%%%%%.....%%%%.%%%%%%%.%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%%.,.%%%%%..%%%%%..%%%%%.%%%%%%%%%%,%%%.,~~~~~~~~~~~~~~~~~~~~,,,,,.i%%%%%,,%%%%%%%%%.%%.%..%%%%%,,,,,,,,,,
----,,,,,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,%%%%,,------%%%%%,,,,,,,,,%%%%%,,%%%%,,,,--%%%%%%%%%~~~~~~~~~~~~~~~--%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,%%%%%%%%,,,,,%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,%%%%%%%%%%%%%%,,,%%%%%%%%,,,,,,%%%%%%%%,,%%%%%%%%%%%,%%%%%,,,,.......,%......,,%%%%%,,,,,,,,,~~~,,,,,%%...%.%%%%%%%%%%..%%%%.%%%%%%%%.%%%%%%%%%%%%%.~~~~,,,,,,,,,,,,%%%%%.%%%%%%%%%%%%.%.%%%%%%%%.%%.%%%..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.,,%%%,.%%.%%%%,,,%%.%%%%%%.%%%%.%.%,,,.%%,,.%%%,,,,,,~~~~~~~~~~~~~~~~~~~~,,,.%%%%%%%%,,%%%%%%%%%%%.%%%%%%%%%,,,,,,,,,,
----,,,,,,,%%%%,,,,%%%%%,,,,,,,,,,,,,,%%%%%-------%%%%%,,,,,,,,,%%%%%,,%%%%%,,-----~~~%%%~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~--,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%,,,%%%%,,,,,,,,%%%%%%%%,%%%%%,,,%%%%%,,,,,,,,,%%%%%%,,,,%%%%,%%%%%%,,%%%,,,%%......,,%%%...,,,%%%%%,,,,,,,,,~~~,,,,,%%..%.,%%%%%%%%%..%%%.%.%%,%%%%%%%%%%%%%%%%%%.~~~~~,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%.....%%.%%%.%%%..~~%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,%%%%,%...%%%%%%,.%%%%%%%%%%%%%.%.%.%%%..,,,%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%%%,,,%%%%%%%%%%%.%%%.%%%%,,,,,,,,,,
----,,,,,%%%%,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%---------,,,,,,,,,,,-%%%%%,,%%%%%,,---~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%,,,,,,,,,%%%%,,,,,%%%%%%%%%%%%%%%,,%%%%%,,,,,,,,%%%%%%%%,%%%%%,,,%%%%%,,,,,%%%%%%%%%%,,,,,,,,,%%%%%,,,,,,,,%%%%....%%%,,,...,,,,,,,,,,,,,,,,,~~~~,,,,%%%%,,,%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%~~~~~~,,,,,,,,,,,,%%%%%%%%%%%%%.%%%.%%%..%..%%.%%%%%%.%%...%%%~~~~~,---,--~~~~~~~~~~~~~~~~~~~~~~~~~,,%.%.%,...%%%%%%%.%%%%%%%%%%%%%%,,...%%%.%%,,%%.,,,,~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%%%,,,%%%%%%%%%.%%%%%.%%%%%.,,,,,,,,
-,,-,,,,%%%%%,,,,,,,%%%%,,%%%%%,,,,%%%%%%%%----~~~~~~~~~~~~,-------,,,,%%%%%,---~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%,%%%%,,%%%%%,,,,,,,,%%%%%%%%,,%%%%,,,%%%%%%%,,%%%%%,,%%%%%%%,,,,,,%%%%%,,,,,,,,%%%......%%%,,,,%%%%,,,,,,,,,,,,,,~~~~~,,,,,,.,,,,%%%%%%..%%%.%.%%.%%%%%%%%%..%%%%%%%%%~~~~~,,,,,,,,,,,,,,%%%..%%%%%%%%%%%%%%%.%%.%.%.%%%%%%%%%%%%%.%%~~..,,-----...~~~~~~~~~~~~~~~~~~~~~~-%%%.%%.%%%%%%%%%%%.%%%%%%%%%%%%%...,.%%%%..,,,.,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%%%%,%%%%%%%%%%.%.%...%%%%%%%%,,,,,,
-,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%,,,%%%%%%%%%---~~~~~~~~~~~~~~--------,,,,%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,,,,,,%%%%%%%%,,,,,~,,,,,,%%%%%,%%%%%,,%%%%%%%%,,,,,%%%%,,,,,,,%%%%%........%,,,%%%%%,,,,,,,,,,,,,,~~~~~~,,,%%%,.,,,.%%%%%%%%%%%.%%%%%%.%%%%%%%%%%%..%%%~~~~~,,,,,,,,,,,,....%%%%%%%%%%%%%%%.%%.%%%%%%.%..%%%%%%%%.%%%~.%%%%,,,-........~~~~~~~~~~~~~~~~~~~~.%.%%%.%.%%%%%%%.%%%%%%%..%%%%%%%.%.,%%%..%.,.,.,.,,~~~~~~~~~~~~~~~~~~~~~~~,,%.%%%%%%%%.%%%%%%%%%%.%%.%.%%%%%%%%%%,,,,,
-,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%,,,%%%%%,,.,--~~~~~~~~~~~~~~~---------,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,%%%%%%%,,,,,,,,,,%%%%,,,,,,,~,,,,,,%%%%%,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%..........,,,%%%%%,,,%%%%,,,,,,~~~~~~~,,%%%%%%%%,.%%%%%%%%%.%.%%%%%%%%%.%%%%%%%%%%%.%~~~~,,,,,,,,,,,,,.%%%%..%%%%%%.%%%%%%%.%.%.%.%%%%%%%%%%%%%%%%.%....%%,,,...........~~~~~~~~~~~~~~~~~%.%%%...%...,%%%%%%%%%%%%%%%.%%%.%.%%.%%%%%%,.%%,,,,~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%.%%%%%%%%%%%%%%%%...%%%%%%%%%%%%,,,,
-,,,,,,,%%%%%%%%%%,,,,,,,,%%%%%,,,%%%%%,,,,--~~~~~~~~~~~~~~~---------,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%,,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,%%%%...........,,,%%%%%,,,%%%%,,,,~~~~~~~~~~,%%%%..%%.%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%.%%%~~~~~,,,,,,,,,,,,,,%.%.%%%.%.%%.%%..%%%%.%%.%.%%%%.%%%%%%%%%%%%%%%%%.%%,,,...........~~~~~~~~~~~~~~~~~..%%%.%%%%%,,.%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%.%%%%.,,~~~~~~~~~~~~~~~~~~~~~~~,,%%%.%%%%%.%.%%%%%..%%%%%%%.%%%%%%%%%.%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~
-,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%,,,%%%%%%%%%-~~~~~~~~~~~~~~~~~~~~-----,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%,,,,,,%%%%%,,%%%%%%%%%%,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,,~,,%%%%%,,,,,,,,,,,%%%%%,,,~~~~~~~~,,,,%%%%..........%,,,%%%%%,,,%%%%,,,,,~~~~~~~~~~%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%~~~~~~,,,,,,,,,,,,,..%%%%.%%%.%%%%%%%%%%%%%%%..%.%..%.%.%%%%%%%%%%.%.%%,,,,...........~~~~~~~~~~~~~~~~.,%%.%.%%%%.%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%%%.%%.%..%%%%.%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~
,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%,,,,,,,%%%%%,,%%%%%%%%%%,,,,,,,%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~,,~~%%%~........%,,,,,,,,,,,,%%%%,,,,,,~~~~~~~~~%%.%%%%%%%%%%%%%%%.%.%%%%%.%%%%%.%,%%%%%.~..~~~~,,,,,,,,,,,,,.%%%.%..%%%%...%%%%%%%%%%%%%%%%.%..%%%%%%%%%%..%%%%,,%,,...........~~~~~~~~~~~~~~%%%%....%.%.%%%%%.%%%%%%%%%%%%%%%..%.%%%%%%%%%%%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~,%%.%%%%%..%%%%%.%%%.%%%%%,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~
,,,,,,,,,,,,,%%%%%,,,,%%%%,,%%%%%,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%,%%%%%,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%,,,,,,,,,%%%%%,%%%%%,%%%%%,,,,,%%%%%%%%,,,,%%%%,,%%%%%,,,,,,,,,~~~,,%%%,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~......,,,,,,,,,,,,,,,%%%%,,,,,,~~~~~~~~~%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%.%%~~~~~,,,,,,,,,,,,,%%%%.%%.%%%%.%.%%%%.%%%%%%...%%%%.%.%.%%%%%%%%%%.%,%%%,.i,........,~~~~~~~~~~~~~%%%%...,%%%%%..%%%%%.%%%%%%%%%%.%%%.%%%%%%%%%%%%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~,%%%%%,%.%%%%%.%%%%%..%%%%.%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%,,,~~~~~~~~~
,,,,,,,,,,,,,,%%%%%,,,%%%%%,%%%%%,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%,--~~~~~~%%%%%%%%%,%%%%%,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%,,,,,,,,,%%%%%%%%%%,,%%%%%,,,,%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,~~~,%%%%%,,,,,,,,%%%%%,,,,,,-~~~~~~~~~~~~~~~~~....~,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~.%%%.%%%%%.%%%%%%%%.%%%%%%%%%%%%,,,%.%.%.%.~~~~,,,,,,,,,,,,,.%%.,.%%.%%.%.%%%%%.%%%%%%%%.%.%.%,,%%%%%%%%%%%%%..,%,,.,.,......,,,~~~~~~~~~~~~%%%%%%%%,..,%..%%%%%%%%%%%%%%%%%.,,,%%%%%%%%%%%%%%%,,,,,,,~~~~~~~~~~~~~~~~~~~~~~%.%%,,,.%%%%%.%.%%%%%%%%%.%.%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%,,~~~~~~~~~
,,,,,,,,,,,,,,,%%%%%,,%%%%%,%%%%%,,,,%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%%%%%%%%%,~~,%%%%%,,,,,%%%%%~~~~~~~~~~~,,,,,,,,,,,,,,~,,,,,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%,,,,,,%%%%%%%%%%,,%%%%%,,,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,~~~,%%%%%,,,%%%%,%%%%%,,,,,,,~~~~~~~~~~~~~~~~~.....,,,,,,%%%%,,,,,,%%%%%,,,,,~~~~~~~~~~~~.%%%%%%.%%%%.%%%.%.%%%%%%%%%%,%.%,%%%%%%.~~~~~,,,,,,,,,,,,,%%%%%...%.%%%%.....%.%.%%%%%.%%.%..,..%.%%%%%.,..%%,,,,..,....,..,,,,~~~~~~~~~~,%.%%%%%%..,,.%%%.%%%%%%%.%%%.%%%.%%,%.%%%%%%%%%%%%%,.,,,,,~~~.%%~~~~~~~~~~~~~~~,,,,,,,,,%..%..%%..%%%%%%.%.%%%%%%%%%%%%,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,%%%%%%%%,,~~~~~~~~~
,,,,,,,,,,,,,,,%%%%%,,%%%%%,,%%%%,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%~~~~~~~~~~~,,,,,,,,,,,,,,~~,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,,,,,%%%%%%%%%%,,,,,,%%%%%%%%%%%%%,%%%%%%%%,,,,,,,,,,,,,,,~~~~,%%%%%,,,%%%%%%%%%%,,,,,,,~~~~~~~~~~~~~~~~~~....,,,,,%%%%%,,,,,,%%%%%,,,,~~~~~~~~~~~~~~.~.%%%%%%%%%%%,...%.%%%%%...%%%%%,,%.%.%~~~~~,,,,,,,,,,,,,%%%%%,,,%%%.%%%.%.%.%%%%%%%%%%.%%%,,%%.%.%%.,%,,.%%%%,,.,.,,......,,,,,,%%%%,,%%%%%%%%%%%%%,,%.,,%%%%%%%%%%%%.%%%%%%,%%%%%%%%%%%%%%,,,,,,%~.%%%%%~~~~~..~.%%%%-,,,,,,,.%..%%.%%.,.%%%%%%.%%%%%%%%%%%%%%%%%%%,,%%%%,,%%%%%,,,,,,%%%%..,%%%%%%%%%%,,~~~~~~~~
---,-,,,,--,,,,%%%%%,,%%%%%,,,%%%,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,~~~~~~~~~,,,,,,,,,,,,,,,~,,,,,,,,,,-------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%,,,,,%%%%%%%%%%,,,,,,%%%%%%%%%%,,,,%%%%%%%%,,,,,,,,,,,,,,,~~~~~%%%%%,,,%%%%%%%%%%,,,,,,,~~~~~~~~~~~~~~~~~~....~,,,,%%%%%,,,,,,%%%%%,,~~~~~~~~~~~~~~~~~~.%%.%.%%,%,,,.%%%%%%%%%.%%.%%%%.,.%.%%.~~~~,,,,,,,,,,,,,%%%%%%%%%.%%%%%.%%%%%%%%%%%%%%%%%%%.%%%.%.%%%%%%%%%%%,,......%....%%%..%%%%%%%%%%%%%%..%%%,,,.,,%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,%%%%%%%%%~~~~~.%...%...-,,,%%%.%%%,%%%%%%.%%.%%.%.%%%%%.%%%%%%,%%%%%,%%%%%,.%.%.%.%.%%%%%%.%.,%%%%%%%%%%,,,~~~~~~~
------,,----,,,%%%%%,,,,,,,,,,,,,,,,,,%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%,%%%%%%,,,,,,,,,,,,,,,,,,,~~~~~~,~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%,,,,,%%%%%%%%%%,,,,,,%%%%%%%%%%,,,,%%%%%%%%%,,,,,,,,,,,,,,~~~~~~%%%,,,,%%%%%%%%%%,,,,,,,~~~~~~~~~~~~~~~~~~.....,%,,%%%%%,%%%%,%%%%%,,~~~~~~~~~~~~~~~~~~~~.~.,.%,%%%%%%.%.%.%%%.%%%%%%%,%%.%.%~~~~~i,,,,,,,,,,,,,%%%,.%%%%.%....%.%%%%%%%%%.%%%.%%%..%%%%.%%%%.%%%%%%,......%%...%..%%,%.%%%%%%%.%.%%%%%%%%,,,,,%%%%..%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%,,%%%.%%%%%%%...~.%%%..%%%%%%,%%%%%.%%,,%%%%%%....%%.%%%%%.%%%%%%.,%%%%%%%.%%%,.%%%%.%%%%%%%%%%%.,%%%%%%%.%%,%%~~~~~~~
-------,-------,,,,,,,,,,,,,,,,,,,,,,,*,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,%,,,,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%,,,,%%%%%%%%%,,,,,,%%%,,,,,~~~~~~~~,,,,,,%%%%,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~...~%%,,%%%%%,%%%%%%%%%%,~~~~~~~~~~~~~~~~~~~~~~~-----%%%%%,%%%%.%..%%%%%%..%.%%%%%~~~~~~,,,,,,,,,,,,,,,,%%%%%%%%%%%%.%%%%%%%%%%%.%%%%...%%%.%.%%%%%%.%.%%,%...%.,%%%..%%...%.%%%%%%%%...%%%%%%%,%%%.%%%.%%.%%%%%%%%%%%%%%%%%%,%%%%%.%%%%,,,%%%%%%%%%.%%%,.%%%%%.%%%%%%%.%%%%%%,,.%%%%%%%%.%%%.%%%,,,%%%%%%%%%%%%..%%%%,%%.%%%%..%%%.%%.%%%%%%%%%%%%%%%%~~~~~~~
----------------,,,,,,,,,,,,,,,,,,,,,,*--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%,,,,,,,,%%%%%,,,,,%%%%%,,,,~~~~~~~~,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~....~%%%%%%%%%,%%%%%,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~----%%%%%,,.,..,.%.%.%.%%%%%%%%%%.~~~~~~,,,,,,,,,,,,,,%%%%%..%%%%%%%%%.%%%%%%%%%%%%%%%%%%..%.%%%.%.%.%.,%.%%%.%,%%%.%%%%%%%%%......%%%.%%%%%%%%%%%%.%%%.%%%%%%%%%%%%%%%%%%%,%%.%%%%%%%%,,,%%%%%%%%%%%%%%,%.%%.%%%%%%%.%%%%%%%..%%%%%%%%.%.%.%.%%%.,,,%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%.%%%%..~~~~~~~
-----------------,,,,,,,,,,,,,,,,,,,,,*--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,%%%%%,,,~~~~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~....~%%%%%%%%%,%%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~---%..%%---.%.%%%.%%%..%%%%%%%%~~~~~~~~,,,,,,,,,,,,,,%%%%%%%%.%%%%,.%%%%%%%%%%%%.%%%%.%%%.%%%%%.%%%%%.%.%%%%%.,%%%%%%%%%%.%.%%....%%%%..%%%%%%%%%%%.%.%.%%%%%%%%%%%%%%%%%.%%%%%.%.%.%%%%.,%%%%%%%%%%......%%%.%,%%%%%%.%%%.%%.%%.%.%%.%%%.%..%%%%.,,%%.%%..%%%%%%%%,%%%%%.%.%%%%%%%..%%%%%%%%%%%%%%%%~~~~~~~
--------------------,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,i,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%,,,,,,,-,,,,%%%%%,,,,,%%%%%---~~~~~~~~~,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...~~%%%%%%%%,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%--.%.%.%..%..%.%%%%,%%.~~~~~~~~~~,,,,,,,,,,,,.%.%%%%%.%%%%%%.%.%%%%%%%%,%%%%%%%%%%%%%%..%.%%%%%%%.%%%.,,.%.%%%%%%%%%%.%%%%%%.%%.%%%%%.%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%,....%%%%...%.%%%.%%%%.,%%%%%.%%%%%%%%%%.%.%..%%%..%%%%%%%.%%%%%%%%%%..%%%,%%%%%%%%%%%%%%%%%%.%%.%%%%%%%.%%%~~~~~~~
--------------------,,,,,,%%%%,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,i,,i,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,%%%,%%%%%%%%%%%%%%%%%%,,~,-------,,%%%%%,%%%%%%%----~~~~~~~~~,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~~~~~~~,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------.%%%..%%%%.%%%%%,,,~~~~~~~~~~~,,,,,,,,,,,,%%..%%%%.%%%.%%%.%%%%%%%%%.%%%.%%%.%%%%%%%%.%%%%%%%.....,,,,%%.%%%.%%%.%%%..%%%%%%%%%.%%%%%%%%%%%%%%%%%%.%%%%%%%%%%.%%%%%%.%%%%%%.%%%%%%%%%%.%%..%.%%.,.,.,,.%%%%%%%%%%%%%%%%%%%.%%%..%%%%%%.%,%%%%%%%%%%%%..,,%.%%%%%%%%%%%%%%%.%%%%%%%%%%.%%%..~~~~~~
--------------------,,,,,%%%%%%,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%,%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~-----,%%%%%%%%%%------~~~~~~~~~~~,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%..%%%,,,%%%%,,,~~~~~~~~~~~~,,,,,,,,,,,%.%.%%%.%%%.%%%%%%%.%%%%%%,,%%%%%%.%%%%%%%%%.%..%%%%%%%,,,,.,...%..%.%.%.%%%%%%%%%%%%....%%%%%%%%%.%%%%%%%%%%%%%%%%%%.%.%%%%%%%%.%%%%.%.%.%...%%%%%%%%%.,,,,%%%%%%.%%%%%%%%%%%%%...%...%.%%%%%%,,.%%%%..%%%%%.,,%%%%%%%%%%%%%%%%.%%%%%%%%%%.%.%.%,~~~~~~
--------------------,,,,,%%%%%%,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,i,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~-----%%%%%%%%%%------~~~~~~~~~~~,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%%.%%,,,,,,,~~~~~~~~~~~~~~,,,,,,,,,,,,..%.%%.%%%%%%%%%%%%%%%%%%%,,,%%%...%.%%%%%%%%%%%%%%%%%%%,.%%%%%%%%,...%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%.%%%%%%%%%%.%.%%%%%%%%%%%%.%%%%.%%%%%,%%%..%.%.%%%,,%%%%%%%%%%%%%%%%%%%%%.%%.,.%%%%%%..%.,.%%%.%..%%%%,.%%%.%%%%%%%%%%%%%.%%%%%%..%%.%%.%%,,~~~~~
--------------------,,,,,%%%%%%,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-,,,i,*,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%%%%%,%%%%%%%%%,,~~~~~~~~~~~~~~~----%%%%%%%%%%-----~~~~~~~~~~~~,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%.%%%.%%,,,.,~~~~~~~~~~~~~~~~,,,,,,,,,,.%%.%.%%..%%%%%%%%%%%%%%%%%%,,,,%%%,.%%%%%%%.%%%%%%%,%%%%%%%%.%.%.%%--%%%%-%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%,.%%%%%.%%%...%%..%%.%%%%%%%%%%.%%%....%%%%%%%%%,,%%%..%%,%%%%%%%%%%%.%.%%%%%%..%%%...%%,.%%%%%.%.%%..,%%%.%%%%%%%%%%%%...%%%%%.%%%%.%..,,,,,,,~
---------------------,,,%%%%%%,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,-~~~~~~~~~~~~~~~~~~~~~,%%%%%%%%%%%%,,,,,%%%%%~~~~~~~~~~~~~~~~~~---,%%%%,%%%%---~~~~~~~~~~~~~~,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%,,,,,~~~~~~~~~~~~~~~~,,,,,,,,,.%%%...%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%%%..%,%.%%%%%%%.%%%%.%%%--.---..%%%%%%%.,.%%%%%%%%%%%%%%%%..%,%%%%%%%.%%..%%%...%%%%%%.%%....%%%%,,,%%%%%%...%.%%%%%%..%%%%%%%%%%.%%%%%%.%%.%%..%%%.%.,,..%..%%%%%..%%%%%.%%%%%%%%%.%.%,*%%%%%.%%%.%%%,,,,,,,
---------------------,,,%%%%%,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~%%%%%%,,%%%,,,,,,%%%%%~~~~~~~~~~~~~~~~~~~---,,,,,,,-----~~~~~~~~~~~~~~,,,,%%%%%,,%%%%%,~~~~~~~~~~~~~,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%,,..%%%~~~~~~~~~~~,,,,,,,,,,,.%%%.%%.%.%%%%%%%%%%%%%%.%%%.,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%.%.%%%-----.%.%%%%%%%%.%%%%%%%%%%%%%.%%%...%.%%%%...%%.%.%.%..%%%.%.,,.%%%..,,.,,,%%%%%.%%%%%%%%.%%.,%%%%.%%%%%%.%%%%%.%.%.%..%%%%%.%%%%%%%..%.,,%%%%%%%.%%%%%%%.%%%%,*%%%.%,%%%%%%%,,,,,,,
---------------------,,,%%%%%,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~-,,-,,,,,----~~~~~~~~~~~~~~~,,,,%%%%%,,%%%%%%%%~~~~~~~~~~~,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%.%%%%%%~~~~~~~~~,,,,,,,,,,,.%.%.%.%%%%..%%%%%%.%%%%%%%%.%.%%%%%%%%,%.%%%%%%%%%%%%%%.%%%%%%.%%.%%%--~~~.%%%%%%%%%%.%%%%%%%%%%%%%%%.%%%%..%%%%.%%%%%.%%%.%%.%%%%.,.%.%%%.%%,,,,%%%%%%%.%%.%..%%%..%.%%%%%%%%..%%%%%%%%%%%.%%%%.%.%%%...%%%%%%%%.%%%%.%%%%%%%%%.%%%,,%%%%,,%%%%%%%,,,,,,,
~~~~~~~~~---------------%%%%%%%%,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,~~~~~~~~~~~~~~~~~-%%%,,,,,,,,,,,,,,%%%%~~~~~~~~~~~~~~~~~~~~~~-----,,---~~~~~~~~~~~~~~~~,,,,%%%%%,,%%%%%%%%~~~~~~~~~~%%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%,%%%.%%%%%%%%%%%%..~~~~~~,,,,,,,,,,,,,%%%%.%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%.%%%%%%%%%.%%%.%%%%,..%%.%%%%-~~~~~%%%%%%%%%%%%....%%%%%%%%%.%..%%%.%%%...%%.%%%..%%.%.%%%.%%.%%%.%%%,,,,,%,,%%.%%%.%.%%%%%.%%%.%%%%%...%%.%%%%.%.%..%%.%%%%%.%%%%.%%%%%%%%%%%%.%%%%%%%%%%%%.,,,,,,,.%%%%%,,,,,,,,
~~~~~~~~~~~~------------%%%%%%%%,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,%%%%--~~~~~~~~~~~~~~~~~~~~~~~~-----,,-~~~~~~~~~~~~~~~~~,,,,%%%%%,,%%%%%%%%~~~~~~~~~~%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%.%%%%..,.,,,,,,,,,,,,,,,,,%.%%%%%%%%%%%%%%.%%%%%%%.%%%..%%.%..%%%%%,%%%,%%%%%%%%%%,,,%%%%%%%%%--~~~~~%%.%%%%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%%%%%%%%%%.%..%%.%%,.%%.%%%%%%,,,,,...%%..%.%,...%%%%%%.%%%...%.%%.%%%.%%.%%..%.%...%%%%%.%.%%%%%%%%.%%%%%%.%%%%.%..,,,,,,,,,%%%%%...,,,,,,
~~~~~~~~~~~~~------,,------%%%%%,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~-%%%%,,,,,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~---,~~~~~~~~~~~~~~~~~~~~,,,%%%%%,,%%%%%%%%,~~~~~~~~~%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%,,,..%%%%%%%,%%%%%%%%%.%%.%%%%%%%,%%%.%.%.%.%%.%%.%%%%%%%,,%%%,%%%%%%,,,%%%%%%----~~~~~~%.%%%%.%%%%.%%%%%%%%.%%%%%%,.%.%%.,,,%%%%%%%%%..%%%%.,.%%%%%.%%,,,,,,,,.%%%%%%.%%,,.....%%%%.%...%%%%%%%%%,...%%%%%%%%%%%%%%%%.%.%%.%,%.%%%%%%%.,.%%...,,.,,,,,,%%%.%%%%%.,,,,,
~~~~~~~~~~~~~~~~---,,,-----%%%%%,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,~~~~~~~~~~~~~~~~~%%%%%%%%%%,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,---,,,,,,,%%%%%%%~~~~~~~%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%.%%%%%%%%.%%%%%%%%%.%%%...%%%%%%,,%%.%%%%.%%%%%%%%%%%,%%%%.,.%%%%%%%%.%%%%%%%,,,,,,%%%%%%%,,%%%%.--..-~~~~~~~.%%%%%%%..%%%%%.%%%%%%%%%%%.,..,,,,,,%%%%%,.%.%.%%%%,%%..%.,,,,,,%%%%,%.%%%..%..%%%%%.%%%%..,.,...%%%%%%%,%%.%%%.%%%.%.%.%%%%%%%%%%,%%%%%%%%%%%%%.%%.%.%%.,,%%%%%%.%.%.%.,,,,,
~~~~~~~~~~~~~~~~~--,,,-----%%%%,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~-~,-~~~~~~~~~~~~~~~~%%%%%%%%%%,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%~~~~~~~%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%.%%%.%.%...%%%%%%i%%%%.%.%..%%,%%%%%.,%%%%.,%%%..%%%.%.,,%%%%,,,,,,.%.%.%.%%%%.%%%.%%.~~~~~~~%%%%%%%%%%%.%%%%%%%%%%%%%%%,,%%%%,,.,%.%%%,,%%.%%%..%%%%%.,,,,,%%,%%%,%%%%..%%%%%%%.%%%%%.%%%.%%,%%%%%%%%%%%%%%%%.%.%%%%%.%.%.%%.%,%%%%%%%%%%%%%%.%.%.%%%%,,%%%%%%%%%%%..,,,,*
~~~~~~~~~~~~~~~~~--,,,-------,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~---,,,~~~~~~~~~~~~~~~%%%%%%%%%%,%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%,,%%%%%%%%%%%%%%%%%%..%%%..%%%.%%%%%%%%%%.%%.%%%%%,,%,%,.%%%%%%.%%%.%%..%%.%%%,,,,,%%%%%.%%%%%%.%%%%%.~~~~~~%%%%%%%%%.%%%.%%%%%%%%%%%%%%%,%%%%%.%%%%.%%,....%%%%%%%%%.%.%,%%%%%%%%%%.%%%.%%%%.%%%%%%%%.%%.%.%%%,.%%%%%%%%.%%%%%.%..%%%,,..%%%%%%%%%%%%%%%%%%%..%%%%%%%%,,%%%%%%%%%%.%.,,,**
~~~~~~~~~~~~~~~~~~-,,--------,.,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~---,,,,~~~~~~~~~~~~~~~%%%%%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%%%%%%%%%%%%%%%.%.%%%.%%%%%....%..%%%..,%%%%%.%%.%%%%%%%%%.%%%%.%%%%%%%%%%.,,..%%%..%%%%%%%.%%%.~~~~~~.%%%%%%%%%.%%%%%,%%%%%%%%%%%%,%%%%%%.%%%%....%%%%%...%..%%%.%%%%%%%%%%%%%.%%%%,%.%%%%%%%.%.%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%,,,%%%%%%%%%%%%%%%%%.%%%..%%..%%%,,%%%%%%.%%%%.,,,,**
~~~~~~~~~~~~~~~~~~--------------,,,,--,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~----,,,~~~~~~~~~~~~~~~~~~~%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%%%%%,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%.%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%%%.%%%%%%,,,%%%.%%%%%%%%%%%..%%.%.%.%%%..%%%%....%.%.%.%%%%.%.%.%.%~~~~~~,%%%%%..%%.%%%%%,%%%%%%%%%%%%.%%%%%..%%%%..%%%%%%%%%%%.%%%.%%%%%%%%%%%.%%%%%%.%%%.%%.%%.,,.%.%....%%%%%%..%%%%%%%%%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%,%%%%%.%%%....,,,,,**
~~~~~~~~~~~~~~~~~~----------------------,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,.,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~---,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%,,,-,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%%%%%%%%%%%%%...,,%%%%.%%%..%%..%%.,,,,..%%%%%%%%%%%%,%%%%%%.%%%%.%%%%%%%...%%%..%%%%%%%.%%%%.~~~.,,.%%%..%%%%%%%%%..%%%%%%%%%%,,%.%..%%%%%%..,%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%,,i.%.%%%.,,%%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%.%.%%%%%%%%%%%%.%...%.%%%.%%.%%%%%%%%%,,,,,,*
~~~~~~~~~~~~~~~~~~-,,--------------------,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,.,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,.%%.%%%%%%%%%%%..%%%%,,,%%%%%.%%%%%%%...,,,..%%%%%%%%%%%%%%,%%%%%.%.%.%...%%%%%%%%.....%%.%.%.%%..~~.~~%%%%%%%%%%%%.%%%.%.%%.%%%.%%.%%,.%.%.%.%%...%%%%%%%%%%%%%.%....%%.%%%%.%%%%%%%.%%%.%%%%%.,%%,%%%%%%.....%%%%%%%%%%%%%.%%%%%.%%%%%%%%%%%%%%%%.%%%%%%%..%.,%%%%%%%%%%%%%%.%%%,,,,,,,
~~~~~~~~~~~~~~~~~~~,,-----------------------,,,,,,,~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,,,%%%%%-,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,.%%%%..%%%%..%.%%.%%%,,,.%%%%%%%%..%%%%%,,.%.%%%%%%%%%%%%.%%%%.%%..%%%.%%.%%%%%%%.%%.%%%%..%%%.%-.-~%%%%%%%%%%%..%%%.%%%%%%%%%%%%%%%.%%%.%%%.%%%..%%%%%%%%%..%.%,.%%%%%%%.%.%%%%%%%%%.%.%%.%%%.,,%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%.%%,,%%%%%.%%%%...%%%%%,,,,,,,
~~~~~~~~~~~~~~~~~~~-,-------------------------,,,,,,,,,,~~~~~~~~~~~~~~~~---,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,,,%%%%%----,,-~~~~~~~~~~~~~,,,,,,,~~~~~~~,,,,~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,...%.%%%%%.%.%%.%.%%.%%.%%.%%%%%%.....%%,%.%%%%..%%%.%%%%%.%%%.%.%%.%%..%%.%.%%%..%%%%%.%%%%%..%%%%.%%%%%%%.%%%%%%%.%.%%.%%%.%%%%.%%%%%.%.%.%.%.%.%%%%%..%%,.%%.%%%.%%%%%%.%%%%%%%%%%%.%%%%%.,,,%%%%%%%%%.%.%%%.,%%%%%%%%%%...%.%%%%%%%%%%%%%%%%%%%%.%.%.%.%.,,,%%%%%%%.%%%%%..%%%,,,,,,,
~~~~~~~~~~~~~~~~~~~---------------------------,,,,,,,,,,,,,,,,~~~~~~~~----,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,%%%%%,,,,,,,,,~~~~~~~~~~,,,%%%%,,~~~~~,,,,-~~~~~~~~~~~~~~~~~~~~,,--,,,,,,,,,,,,,,%%.%%.%%%%%%%%%..%%..%%%%%%%%.,.,%%.%%..%.%.%.%%%%%%%%%%%%%%...%.%%,,.%%%%%.%%.%.%%%%..%%.%..%.%%%.%%%%%%%%.%%..%%%..%%%%%%%%.%%%%%.%%%%%%%%%.%%..%%%%.,.%%%%%%%%....%%%%.,%%%%%%%%%%...%%%%.,,%%%%.,%%%%.%%%%.,.%%%%%%%%%%%%..%%%%%%%.%%%%%%%%%%%,%%%..%%.%...,%%%%%%..%%.%.%%%%,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~------------------------,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~,,,,,,,,,,,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,%%%%%,,,,,-,,,~~~~~~~~~~,,%%%%%%%%%~~~~,,,-~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,.%%...%%%%.%%%%%.%%%%.%%%%%%.,,%.%.%%..%%%..%%%%%.%%%%%%%%%%..%%%%,%%.%.%.%%..%.,%.%%.%.%..,..%%%%.%%%%%%.%%%%.%.%%.,%%%%.%.%%%%i,.%.%...%%%%.%.%%%%%,,,,%%.%%%%..%%.%%%%,%%%%%%%%%%%%%%%%.%%,,%%%.%.,,,,%.%.%,,%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%.,%,....%.%.%%%...,,%%%%%%%.%%%%%,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~-----------------------,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~,,,,,,,,,,*,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------%%%%%------,~~~~~~~~~~~,,,%%%%%%%%%,~~~,,--~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%.%%%...%%%.%%.%%%%%%%%%,,%%.%%%%.%%%%...%%%%%%%%%%%%%%%%.%.%.%%%%%.%%.%%%%.%%.%%.%%%....%%.%%%%%%.%%%%%%%.%%%%,%%%%.%%%%%.,,.%%%%.%%%%%%%%%%.%.,,,,%%%%%%.%.%%.%%%%.,%%%%%.%%%.%%%.%%%.%%%%%%.%.,,,%%.%.,%%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%%%%%%%%,%%%.%%%%..,...%%..%%%%.%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~-----------------------,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,--~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~%%%%%,,,,,%%%%%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%..%,,.,..%%..%%%%%%%%%%%%,,%.%.%.%.%%%%%%%%%%%%%%%%....,.%%.%%%%%%%.%..%%%%%%%%.%.%%%%%.,.%%%%%%%%%%%%%%%%%.%%%.,%%%%%%.%%%.,,.%.%.%%%%%.%%%.%%%%%.,,%%%%%%%.%%%%%.,.,..%%%%%%%.%%%%%%%%%%%%%%%%%.,,%%.%.,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%,,.%.%%%%..%%%%%%.%%%..%%%.%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~------------------------,---,,,,,,,,,,,,,,,,~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,i,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,%%%%,%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%...,,%..,,%%%%%%%%%%%%%%.%%%.%.%.%%%%%%%%%%%%%%..%.%%.%.%%..%%%%%%%%%%%%%..%%%%.%%.%.,,,..%.%%%%.%%%%%%%%%%%%%%%%%%.%%%%..%,%..%%%%.%%.%%%%%.%.%%,.%.%%%%.%%%%%%%%,,,.%%,%%.%%%%%%.%%%%%%%%%%%%,,,%%%%%,,%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.,%.%%%.%%%%%%%%%%...%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~,,---------------------------,,,,,,,,,,,,,,,,~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,i,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,%%%,,~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%.%%%.%%%,,,%%%%%%%%%%%%.%%%.%,.,%%%%.%%%%%%%.%,,%.%.%%%%%%%%.%%%%%%%%%.%%%%.%.%..,.,,,,,%%%%%%%%.%..%%%%,,%.%%%%%%%%,...%%%.%%%.%%.%%.%%%.,%%%%%.%%%%%%%%%%.%%%%%%,,,%%%,,%%%.%%%%.%%%%%%%..%%,,,%%%%%%%..%%%%%%%%%%%%..%%%%%%%%%..%%%%%%%%%.%.%,,,%.%%%.%%%%%%%.,,,%%%%%.%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~,,---------------------------,,,,,,,,,-,,,,,,~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%,,,,%%%%,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-i,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%,,,,,,,,,,...%%%%%%%%%%%.%%%%%%%%%%%%%.%%.%.,,,%%%%%%%%%%%%.%,.%%%%..%%%%.%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%.%%.%%.%%.%%%%..,,%%%%%%%.%%%%%%%%%.%%%%..%%%%%,.%.%.%%%%%%%%%%%%%%%.%%%,,.%%%%%%%%%%.%%%%%%%%.%.%%.,,,.%.%%%%.,%%%%%%%%.%.%,..%%%%%%%%%%%%%%..%%.%.%..%%%%....%%%.%%.%%,.%%%%%%.%,,,,,,,,%%%,%,,.%%%%%.%%%%.,%%%,,,,,,,
~~~~~~~~~~~~~~~~~~~~~,,---------------------------,,,,,,,---,,,,,,,~~~~~~~~~~~,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~,%%%,,,,,,,,,%%%%%,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%,,,,,,,,%%%%,,,,,~~~~~~~~~~~~~~~~~~%%%.,,,,,,%%%%%,,,,,,,.%%%%.%%%%%%%%%%%%.%%%%%%%%%%%,..%.%%,,.%.%%%%%%%%%%%%,%%%.%%%%%%%%%%..%%%%%.%%%%%%%%%%%%%%%%%%%%%%.%%%.%%.%.%.%%%%%,,,.%..%%%%%%%%%%%%%%%.%%%%%%%.%%%%..%%%%%%%%%%,,...%%,..%.%%%%%%%%%%%%%%.%%.%%%%.,,..%%.%%%%%.%%%%%%%%%%%%.%.%%.%%%.%%%%.%,,...%%%%.%%%%%%%.%%%%%%%%.,,,%%%.%%,%%%%%,,%%%%%%%..%%%%%%%%%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~,-------------------------------,,-----,,,,,,~~~~~~~~~~~,,,,------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,%%%%%,,,,,%%%%~~~~~~~~~~~~~~~~~~~~~~~~-,,,,i,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~-,,%%%%%,,,,,,,,%%%%%,,,,,~~~~~~~~~~~~~...~%%.%..%.,,%%%%%%,,%%,,%%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%.%%%%%%%%%%,%%%%%.%%%%%%%,,%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%.%.%%.%%%%%.%%%%%,,,%%%%%%%%%%%%.%%%%.%%%%%%%%%%%..%%%%%%%%%%%%,.%%%%.,,%%%.%%%%%.%.%%%,,,,,.%%%%%.,,,%%%%%.%%%,%%%%%%%%%%%.%.%%%..%%%,%%%%%,%%%.%%%%..%%%%%.%%%%%%%%%%,,%....,,,%%%%%,.%%%%%..%.%%%%%%%%%%.%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~,,-------------------------------------,,---~~~~~~~~~~~~,,,--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,%%%~~~~~~~~~~~~~~~~~~,%%%%%,,,,,,,,%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~------,,,%%%%%,,,,,,,,%%%%%,,,,,,,,-,,,~~~~~%%.%.%%%..%.%%,%%%%%%%,%%%..%%.%%%%%%%%.%.%%%%%%%%%%%%%%.%%%%.%%.%.%%%.%%%%%%%%%%%%%%%%%%%%%%,,,,~~~~%%%%,,,%%%,,,,,,,%%%%%%.%,.%%%%.%%.%.%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.,i%%%%%.,%%%%.%%%%%%%%%,,,,,,,%.%%%.,,,.%.,.%%%%.%%%%%,,,%%%%.%%%%%.%%...%%%%%%%%%%.%%%.%%%,%%%%%%%%%..%.%.%%.%%,,.%%%%,.%%%%%.%%%%%%%.%%%%.%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~,,,,,--------------------------------------~~~~~~~~~~~~~,,,--------,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------%%%%%~~~~~~~~~~~~~~~~~,%%%%%,,,,,,,,%%%%,%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,,,,,,i,,,,,,,,~,,,,,---------,,,,,%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,,~.%.%.%.%.%%%%.%%%%..%%%%%%%.%.%.%%%%%%%%.%%%.%%%%%%%%%%%%.%.%%%.%.%%%%.%%%%%%%%%%%%%%%%.%%%%%%,,,,~~~~~~~~~~~~,,,,,,,,,,,,,,,%%...%%.%%.%%.%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%.%.%%%..%.%*,,,,i,,,,,,%%.%%,,,,%%%.%.%%.,%%%.%,.,%%%%%%%%%%.%%%%.%%%.%...%%%%%%.%%,%%%%%%%%%%%.%%%%%.%.%%%%.%%%%%%%%%%%%%%%%%%%%%%..%%%%%,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~-,,,,,-------------------------------------~~~~~~~~~~~~~,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------%%%%%~~~~~~~~~~~~~~~~,,%%%%%,,,,,,,,,,,,,%%%%%%%%%%~~~~,,,,,~~~~~~~~~~~%%%%%,,,,,,,,,,,i,,,,,,,,,i,,,,,,,,,,,---,,,,,,,,,%%%%%,,%%%%%,,,,%%%,,%%%,,,,,,,,,,,,.%%%%.%%%%%%.%%%%%%%%%.%%%%.%%..%%%%%%%%%%%%%...%%%%%%%%%,%%%%%%%%%%%.%%%%%%%%%%%%%%%%%,%%%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%.%%%.%%..%%%%%%%.%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%.%%%.%..%%%..,,*S*,,,,,,,,,,,,..%,,%%%%%%%%%....%%%.,,%%%%%%%%%%..%.%%%.%%%%%%%%.,,...%%,%%%%%%%%%%..%.%...%%%.%%%%%%%..%%%%%.%%%.%%%%......%.%,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~--,,,,,------------------------------------~~~~~~~~~~~~~,,------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~%%%%%%~~~~~~~~~~~~~~~,,%%%%%,,,,,,,,,,,,,%%%%%,,%%%,,,,,,,,,-~~~~~~~~~~%%%%%,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,%%%%%,,,,,,,,,.,,..%.%.%.....%..%%%%%%%%%%%%%%.%%%%%%%%.%%%%%%%%..%%.%%%%,.....%%.%%%%%.%%%%%%%%%%%%%%%%%....%%%-~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%.,.,.%%%%%%%%%%%%.%%%.%.%%%%%%%%%...%%%%%%%%...%%%%%%%.%%%%%%%.,%%.%%%%%%.%%,,***,,,,,,,,,,,,%%%%%.%%%%%%%...%%%%%%%%%%%%%%%%.%%..%%%%.%..%%%.%.,%%%%%%%%%.%%%%%%%%%%%%.%%%%%%%.%%%%%%%...%%%.%%%.%%....%.%%%%.,,,,,,,
~~~~~~~~~~~~~~~~~~~~~----,,,,,,----------------------------------~~~~~~~~~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~,ii,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~%%%%%%%%~~~~~~~~~~~,,,,%%%,%%%%%,,,,,,,,,%%%,,,,,,,,,,,,,,---~~~~~~~~,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%%%,,,,,,%%%%%,,,,,,...,,,,%%%%%%%%%%....%%%%%%%%%%%%.%%%%%%.%%%%%%%%%%.%.,.%%%%%%,,,,,%%%%.%...%%%%%.%%%%%%%%%...%%.%.%%-~~~~~~~~~~~~~~~~~~~~~~~~~~,,.%%,,%%%%%%%%%%%%%%%.%.%%%%%%%%%%,%%.%%.%%%%%%%%%%.%,%%%%%%%%%%%%%,,.%%%%%.%,..,,**,,,,,,,,,,,,,%%%%.%%%%%%%%%.%.%%%%%%%%.%%%%%%%.%.%.%.%%%%%%%%%.,,%%%%%%%%.%%%%%%%%%.%.%.%%%%%%%%%%%%%%.%.%%.%%%%%%,.%%%%%..%..,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~----,,,,,,----------------------------------~~~~~~~~~~~~~~-------------,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~%%%%%%%%~~~~~~~~,,%%%%%,%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,%%%-----,,,,%%%%,,i,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%,,,,,,%%%%%%%%%,,,,,,,,..,,,%%%%%%%.%%%%%%%%%%%.%%.%%%%%%%%%%%%%%.%%%%,,,%%,%%%%,%%%.%%.%%%%%%%,,%%%%%%%%%%%%%..%%.%.%-~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,.,%%%%%%%%%%.%%%%%%.%%%%%.%%%%..%..,%%%%%%%%%%%%%%,.%%.%%.%%%%%.%%%..%%%%%%%.,**,,,,,,,,,,,,,.%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%..%%%,.%%%.%%%%%%%%%%.%%%%.%%..%%.%%%%%%%%%%%.%.%%%%%%%i.%%%...%.%%,,,,,,,
~~~~~~~~~~~~~~~~~~~~~----,,,,,,,----,----,,-----------------------~~~~~~~~~~~~~-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~%%%%%%%~~~~~~~,,,%%%%%,%%%%%%%%,,,,,,%%%%,,,,,,,,,%%%%%,%%%%%----,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,,,,,,%%%%%%%%,,,.,,%%%%,,..%%%..%%%%%%%%%%%%%%%,%.%%%%%%%%%%%%.%%%%%%%.%%%....%%%%%%.%%%%%.%%%%%%%%%%%%%%%%%%.%%%%.%,~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%..%.%%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%,..%.%..%%%.%,*,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%.%%%..%.%.%%%%%%%.%%%%%%%%%%%%%%%%%.%%...%%%%%.%%%%%%%%%%%%%%%%%%%%%%%...%%%%.%%.%%,,,,,,
~~~~~~~~~~~~~~~~~~~~------,,,,,,,--,,,,,,,,,----------------------~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-.~~~~~~~~,,%%%%%%%%~~~%%%%%%%%%,%%%%%%%%,,,,,,%%%%%,,,,,,,,%%%%%,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,%%%%%,,,%%%%%,,,%%%%%%%%%.%%%%%.%%%%%%%%%%%.%%.%%%%%%%%%%%.%%%.%%.%.%%%%%.%..%%%%%%%%%%%%%%%%.%.%,%%%%%%%%%%.%.%.%.,,~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%,%%%%%%%%%.%%%%.%%%%%%%.%%%...%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%.%%%%.%.,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%...%%%%%%%%%..%%%%%%%.%%%%%%%%%%%%.%..%%%.,%%%%%%%%%%%%%%.%%%%%.%%.%%.%.%.%.%.%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,----------------------~~~~~~~~~~~~~~--------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~-i,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,.,,,,,,,,i,-~~.~~~~-,,,%%%%%%%%~~~%%%%%%%%%,%%%%%%%%,,,,,,%%%%%,,,,,,,,%%%%%,%%%%%,,,,%%%%%,,,,,iii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,%%%%%%%%%%,%%%%%%%%%%%%%,,,%.%%%%.%%....%%..%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%%..%%.%%%..%%%%%%%.%,%%%%%,.%.%%%%%.%%%%%%%%...%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~,,,,,.%.%%%%%.%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%.%%%%%%%%%%.%%%%%.%%%%%%%%%%.,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%..,%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%%,%.%%%%%.%%%%%%%%%%%%%%.%%%%%%%.%%%%%%.%%%%%.%,,,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,----------------------~~~~~~~~~~~~~~~~~~~-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~---,,,,,,,,,,,,,,.,,,,.,,,,,.,,,,,,,.,,,,,,,,~~-~~~-,,,,,,,%%%%%,~~%%%%%%%%,,%%%%%%,,,,,,,,%%%%%,,,,,,,,%%%%%,%%%%,,,,,%%%%%,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,i,,i,,,,,,%%%%,%%%%%,%%%%%%%%%%%%,,,,.%%%%%%%%%.%...,,,%%%%%%%%.%%%%%%%%%%%%%%%.%.,%%%%%%%%%%.%%%%%%%%,,%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%.%%%%%%%%,%%%%%%%%%%%%%%%.%%%.%.%%.%,,,,,,,,,,,,,,,,,,%%%%%%%%.%%%..,.%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%.%.%%%.%%%%%%%%.%%%%..%.%.%%%%%%%%%%%%%...%%%%%%%%%%.%%..%%%%.%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,------------------------~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,%%%%%,,%%%%%%,,,,,,%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,i,,,i,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,ii,,,,,,,%%%%%,%%%%%%%%%%,,,,,,%%%%%%%.%%%%,,,,,,%%%.%%%%%%.%%%%%%%%%%%%%%%%..%%%%%%%%%.%%%.%.%%%%%%%%%%.%%%%..%%%%%%%%%%%%.%.%%%%%~~~~~~~~~~~~~~~~%%%~~~%%%,,,,.%%%..%%.%%.%%%%%%%%%%%%%%%%.%.%.%.,%%%%%.%%%%%%%%%%.%.%%%%%%%%%.%%%%%%%%%.%...%.,.,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%,,,%%%,.%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%.%.%%%%%%..%..%%%%%%%%.%%%..%%%%%%.%%..%.%%.%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,%,%%,,,,,,,,,,,,,,,,,,**********,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,-------------------------~~~~~~~~~~~~~~~~~~~~-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,~~~~~~~,,,,%%%%%%%,,,%%%%%%,,%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,%%%%%,,,,,,,,,,,,i,%%%%%,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,i,,,,,,%%%%%,%%%%%%%%%%,,,,,,,,%%%%%,%%%%,,,,,,%%%%%%%%%%%.%%%%%%%..%%%.%%%.%%%%%%%%%%...%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%~~~~~~~~~~~~~~%%%%%%%%%%%,,,.%%%%%%.%%.%%.%%%%.%%%%%%%%%%%%%%.,,.%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%..,..%%%%.%%%%,,,,%,%%%%%%%%.%%%.%%%%%%%..%%,,,..%%%%%%%%.%,%%%%.%%%.%%%%%%%..%%%%%%%%%.%%%%%%%%%%%%%..%%%%%%%%%%%%.,%%%%%%%%%%%%%.%%%%%%.%%%,%%%%%%%,,,,,,,,,,,,,,,,,,%,%%%%%%,,,,,,,,,,,,,,,,*************,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~,-------,,,,,,,,,,,,,,,,,,-----------------------~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,,%%%%%,,,,,%%%%%,,%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%,,,,,%%%,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,%%%%%,,,,%.%%%%%,,,,,,,,%%%%%..%.%%%%%%,%%.%%%%%%%%%,,,,%%%%%%%%%%%%...%%%.%%%%%...%%%%%%%.%%%..%%%%%.%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%,,,,%%%%.%%%%%%%%%%%%%%%%.%%%.%%.%%,%%.%%%.%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%.%%%%%.,,,%.%..%%%%.%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%.%.%.%%%%%%%%%%,,,.%%%%%%%..%%%%%%%%%%%%%,%%%%%%%,,,,,,,,,,,,.,,,,%%%%%%%.%%%,,,,,,,,,.,,.***************,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~,,,,,-,,,,,,,,,,,,,,,,,,,,,---------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,~~~~~,,,,,%%%%%,,,,,%%%%%,,%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%,,,%%%%%,,,,,,%%%%%i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,.%.%.%%,,,,,,,,,,.%%%%%%%%%%%%%%%.%%%%..%%%%%,.,.%%%%%%%%%%%.%%%.%.%%%%.%%%%%%%%%%%%%%.%.%.%%%.%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~%%%%%%%%%%%%,,,.%%%%.%.%%%%%%,,.,,.%%%%%%%%%%%%%%..%%%%%%%%%%%%%..%%%%.%%%%%..%%%%%%%.%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%,,,%%%%%,,.%%%%.%%%%.%%%%%%%%%%%%%%%%%.%%.%%%%%%%%.%%%%%%%%%%%.%%%%%%%%..%%%%%.%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%,,,,,,..,,,,%%%%%%%%%%%%%%%%%%%%%%,.%%..%.****.%%%*******,,,,,,,,,,,,,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,.,,,,,,,,i.,..,,.,,,,,,,,,,,~~,,,,,,,%%%%%,,,,,%%%%,,,%%%%%%,%%%%%%%%%,,,,,,,%%%%%,,,,%%%%%,,,%%%%%,,,,,,%%%%%,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,.%.%%%%%%,%%%%,,,%%%%%%%%%,%%%%%%.%%%%%%,%%%%.%%%%%%%...%.%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%.%%%%%%%%%%.%%%%,.%%%%%%%%%.%~~~~~~~~~~~~%%%%%%%%%%%%%%%,%%%%%%%%%%%.%%%%%%%.,%%%%%h%%%%%%%.%%%%%%%%%%%%%%%%%%%%..%%%%%%%%.%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%.%%..%%%%%,,,%%%%%,.%.%%%..%%%%%%%%%.%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%,%.%%%%%.%.%%%%%%%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%,..,%%%.,,,%%%%%.%%%%%%%%%%%%%%%%%...%%%.****%%%%%%%*******,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,%,,,,,,,,,,,,,,,,,,,,,,,%%%,,,,,,,,,,
~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%,,%%%%%%%%%,,,,,,,%%%%%,,,,%%%%,,,,%%%%%,,,,,,%%%%%i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..%%%%.%%%%%%%,,,%%%%%%%%%,%%%%%....%%%,%%%%%%%%%%%.%%%%%%.%.%%%%%%%%%%.%%%.%%%,%.%%%%%%%%%%.%%%%%%,,,.,,%%%%%%%%%%%%~~~~~~~~~~~%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%,,,%%%%%%%%%%%%%.%%%%%%..%%.%...%%%%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%...%.,%%%%%%,,,%%%%%...%%%%.%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%.%%%%%%%%.%%,%.%%..%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%.**..........................%%................................................,,,,,,,,
~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,.,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,%%%%%,,,,,,,,,,,,,%%%%%,,,,,-,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%.%.%%%%%%%,,,%%%%%%%%%%%%%%.%%%%%,.,%%%%%%%%%%%%%%%%%%%%%..%%%%.%%%%..%%%%%.%%.%%%%%%%.%....%%%,,,,,.%%%%%%%%%%%%~~~~~~~~~~~%%%%.%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%.%.%%%%%%%%.%%%%%%%....%%.%%%,,%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%.%..,.,..%%%.%.%.%.%%%%%%%...%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%.%.%.%.%%.%.%.%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...%%%%%%%%%%%%%%.%%%%%%%%%.%%%%%.%%%.%.***%%......................%%................................................,,,,,,,,
~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,%%%%%,,,,,,,,,,,i,,,,,,,,-------i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%.%.%%%%.%%%,,,%%%%%%%%%%.%%%%%.%..,%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%.%%%%%%%%%%%%%..%%%.%%%,,,,,,%%%%%%%%%%%~~~~~~~~~~~~%%%.%%%%%%%%%.%%%%%%%%%%%.%%%%%%%%%%.%..%%%%%,%%%.%%%%%%%%%%%%%.%%%%%.%.%.%%%.%.%.%%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%..%..%%%%.%%%%.%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%%%%%..%%%%%%.%%%%%%.%%%%%%%%%%%%%%%.%%%.%%%%%%%%%.%%%%%%%%%%.%%%%%%..%%%****%%%%%.....................%..................,..,..........................,,,,,,,,
~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,---------i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,.....%%,%%%%,,.%%%%%%%%%%,%%%.%%%%%.%%%%%%%%%%%%%%%...%%%%%.%.%%%%%%%%..%.%.%%%%%%%%%%%%%.%..%%.%.,,,,,,,%%%%%~%%~~~~~~~~~~~~~,%%%%%%.%%%.%.%%%%%%%%%%%%%.%.%%%%%%%%..%%%%..%%%%%..%%%%%%%.%.%%%%%%%%%.%.%.%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%%%%%.%.%%%.%.%%%.%%.%%.%,%.%%%%%%.%%%%%%%%%%%%%.%%%%%%%%%%%%.%%%%%%%%.%.%%%%%%%.%%%%%%%%%.%.%.%.%%%%%%%%%%%%%%%%%..%%%%%%..%%..%%%%%%%%%%%%.%%%%%.%.%%%.%.%%%..***..%%%%.....................%................................................,,,,,,,,
~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,iii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,i,,,-~~~~~-----,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,.%.%%.%%.%%.%%,%%%%%%%%%%,%%%%%%%.%.%%%%%%%%%%%%%%%.,,,%%%%%%%%%%%%%%%.%%%%,%%%%%%%%%%%%%.%..%%%.%,,,,,,,,%,~~~~~~~~~~~~~~~~~,,%%%%%%%%%%.,,%%%%%%%%%%%%%.%%%%%%%%%%.%%%%..%%%%%.%%%%.%%%%%%%%..,.%.%.%.,.%%%%%.%%.%%.%...%%.%.%%%%%.%%.%%%.%%%%%%%%%%%%%%%%..%%%..%%%%%%%%...%%%%.%%.%%.%%%%%%%%%.%%%%%%%%%%%.%.%%%..%.%%%%%%%%%%%%.%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%..%%%.%.%*****%%%%%%..%%%...................................,,...........................,,,,,,,,
~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,,-~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,.%%%%%%%%.%%%%%%%%%%%%%%%.%%.%%%%%%...%%%%%%%%%%%%.%%%%%%%.%%%.%%%%%%%..%%%%%%.%%%%%%%%%%%%%.%.%%%%,,,,,,,,,~~~~~~~~~~~~~~~~,,,,%%%%%.%%%.%%%,%%%%%.%%.%%%%.%%%%%%%%,,%.%..%%.%%.%%.%..%.,%%%%%%%%.%%%%%.%.%%%%%.%.%..%%.%%%%..%.%%.%%%%%.%%.%%%%%%%%%%%..%.%%%%%%%.%%%%%...%%%%%%%%%%.%%%%%%%%%%,,.%%.%%%%%%%%%%%%%..%%%..%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%..%.%%%%%%%%%%%%%%%%%%%%%%..%%.%%%%%%.%%%.%%%.%%****.%%%%%%%%.%%...................................,.,..........................,,,,,,,,
~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,--~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%,%%%%%,,%%%%%%.%%%.%%%%%%%.%.%%%%.%%%%%%%.%%.%%%.%%%%%%%%%%.%%%%%%..%%..%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%.%%%.%,,,,,,,,,~~~~~~~~~~~,,,,,,,,,%%%..%%.%%%%%%%%%%%%.%%%%%%%%.%%%%%.,%%%..%%.%%.%%,,.%%%.%%%%%%.%.%%.%.%..%.....%..%.%%.%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%..%.%%%%%%%%%%%%..%%%...%%%%%%.%%%%%.%%,,,%%%%.%%.%%%%%%%%%.%%%%%%.%%%%%%%%%.%%%%%%%.%%%.%%..%%%%%%%%%%%%.%%.%%%%%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%..%%%.%****.%%%%%%%%%%%................................................................,,,,,,,,
~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,----~~~~-----,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,%.%%%%%%%.%%%%%%%%%%%%.%.%%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%%%%%.,..,%%%%%.%%%%%.%%%.%%%%%%%%%%%%%%.%%%%,,,,,,,,~~~~~~~~~,,,,,,,,,,,,%%%%.%%%%.%%%%%%%%%%%.%%%%%.%%%%%.%%.%%%..,%%%....,,%%%%%%%%%%%%%%.%%.%...%..%%%%%,%%%%.%%%%%.%%%%%%%%%%%%%%.%%%%%%%%.%%.,..%%..%.%%%%%%%%%%%.%.%%%%%%%%%..%%%%%.,%%..%%%%%%%.%%%%..%%%..%.%.%%%%%%%%%...%%%%%%%..%,%%%%%%%.%%%%.%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%.%..%.%*****.%%%%%%%.%%%%...............................................................%,,,,,,,
~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%%%%%%%%,,,,,,,,,%%%%%%%%,,,,,----~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,%.%%..%%%%%%%%%%%%...%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%,%%%%%%%%%%.%..%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%,,,,,,,~~~~~~~~~,,,,,,,,,,,,,,.%.%.%%%%%%%.%%%%%%%%%%%%%%%%%..%%%%..%%%%.%%,,,,%%%.%%%%%%%%%%%%%%..,,%%%%%..%%%.%%%%%%%%%%%.%..%%%%.%%%%%.%%%%%%%%%%%.%%%.%%%%,%..%.%%.%.%%%%%%%%%%%%%%%.%%%.,,%%%%%%%%%%%%%%%.%%%%.%..%.%.%%%%%%%%..%%%%%%%%..,,%%%%%%....%%%%%.%%%.%.%%.%%%%%%%%.%%%%%%%%.%%%%.,,%%%%%%.%.%..*****%%%%%%%%%%%%%..................i.....,.........,..........................%,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,,,%%%%%,,,%%%%%%%%,,,,,------~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%.%%%%%%%%....%..%%%%%%%%,.%%%%%.%%%%%%%%%%%%%%%%%%..%%%%%%..%%.%%%%.%%%%%%%%%%%%%%%%%%%%%...%%%.,,,,,,,~~~~~~~~~,,,,,,,,,,,,,,%%.%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%.%..%%%%%,,.,,%%%%%%%%%%%%%%%%%%%,,,,%.%%%.%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%i%.%%.%%%%%%%%%%%%%.%%%,.,%.%%%%%.%%%%%.%%%%%%%.%%%%%%%%%%%%%..%%%.%%%%%,,,%%%%%%%%%%%..%%%%.%%%%%%%%%%%%%.%..%.%.%%%.%.%%%.,,%%%%%%%%%%.******.%%%%%%%%%.,.,.................................,..........................%,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,%%%%%%%%,,,%%%%%%%%,,,,,-------~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%,%.%%%%%%%%%%....,%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%.%%.%%%.%%%%%%%%%%%%%%%%%%%..%%%%%...%.%,,,,,,,~~~~~~~~~,,,,,,,,,,,,,%%%%...%%%%%%%%%%%%%%%.%%.,%%%%%.%...%%.%%%%,,,%%%%%%%%%%%%%%%%%%%%%,,,..%.%%.%.%%%%%%%%%%%.%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%,%%%.%%%.%%%%,%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%.%%%.%.%%%%%%%%%%%%%%%%%%.%%%..%%%%%,,,%%...,,%.%%%%.%%%%%%%%%%.%%%%%%%%%.%%.%%%%%%%%%.,,.%%%%,%%%%%%***********..%.%.,,,................i...............,.....................--....,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,%%%%%%%%,,,%%%%%%%%,,,,,,-------~~,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,%%%,.,,,,,%%%%%,%%%%%%,,%.%.%,%%.%%%%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%.%%.%%%.%%%%%%%%%%%%.%%%.%%%%%%%%.%%%%%,,,,,%%,~~~~~~~,,,,,,,,,,,,,%%%%%..%%%%%%%%%%%.%%%%%%%,%%%%%%%%%%.%%%.%%%.,%%%.%%%%%%%.%%%%%%%%%%,,,,,....%.%.%%%%%%%%%%%%%%.%%%.%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%..%%%..%%%%.%%%%%%.%%%.%%%%%%%%%.,,%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%..%%%.%%%%%%%%.%..%%%,.%%%%%.%%%%%%%%%%,.%%%%%%%%%%.%%%%..%%..%.,%%%%..,%%%%%%.*********.%%%%%,,,,.........................................................-..,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~,,,,,,,,,,,,,,,,,,,,--,,,-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,%%%%%%%%,,,%%%%%%%%,,,,,,,-------~,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%--,..%%%..%.%%%..%.%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%..%%%.%%.%%%%.%%%%%%%%%%%%%%%%%%.,i,,,%%%%%%~~~~~,,,,,,,,,,,,,%%%%.%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%.%.%.%%.%%%%%%%%%%%%%.%%%%%%%%%%%%.,,,.%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%%.%%%%,,%%%,,%%%%%%%%%%%%%%,,,.%%%%%%%%%%.%%%%%%%%%%%%,.%%%...%%%%%%%.%%%%%.%%%%%,,....%,%.%%%%%%%%%,%%%%%%%....%%%%%%.%%%%%%%%%%%,,%%%%%%.**********%%.......................................,...........................,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~,,,,,,,,,,,,,,,,--------,-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,%%%%%%%%%%%%%%%%,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,%%%,,,,%%%%%-------~..%%.%,.%%%.%%.%.%%%.%%%%%%%%%%%..%%.%.%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%.%%,%%.%%%%.%%.%.,,%%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%.%%%%%%%%%%%%%%%%.%%%%%%.%%%%%%,,,%%%%.%,,%%%%%%%%%%%%%.%%%%%%%%%,,,,.%%.%%%%%.%%%%%%%%%%%%%%%..%%%%%.,%%%..%%%%%%%%%%%.%%,,,%%%%%%%%%%%%%%%%%%%%%%%,%%,,.%.%.%%%%%.%%%%%%%%%%%%.%,%%.,,%%%%.%%%%%.,%.%%%%.%%%%%.%,,,.%%%.%%%%%%%...%%%%%%%.*******..............................................,.......................,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~,,,,,,,,,,,,,,,,,-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,%%%%%,,,,,%%%%,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,%%%%%,,,%%%%%---~~~~~.%%%%%.%.%.%.%%.%.%.%%%%%%%%%%%...%.%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%,,,,%%%%.%%.%..%%%%%%%%%%%%%%.,,,.,,,,,,,,,,,,%%%%%%%.%%%%%%%%%%%%%%%%.%%%%%%%%.%%%......%%%%%%%%%%%%%%%%.,%%%%%%%%%%%,,%%%%.%%.%.%%%%%%%%%%%%%%.,,,%%%.%%.,,,,,%%%%%%%%%%%%%%%%%%%%%%,..%....%%%.%%%%.%,%%%%%%%%,..%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%..%.%.%%%%%%%%...%%%.%%,,,,,,.%%%%.%%%%%%%%%%.%.%%%%%,,,,.%%.%%%%%%%.,,,.,,%%%%%*****.....................................,..,,..............................,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~,,,,,,,,,,,,,,,,-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~-,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~%%%%,,,,%%%%%~~~~~~~~,,%%%%.%%.%%%%%%.%.%%%%%%%%%%%%%..%%%.%%%%,.%%%.%%%%%%%%%%%.%%%%%%%%%%,.%%%%%%%%%%%..%%%%%%.%%%%%%%%%%,%%%.,,%%%%%.,,%%%%%%%%...%%%%%%%.%%%%%%%%%%%%%%%%%%%,%.%%.%.%%%%%%%%%%%%%%%%.%%%%%.,.,..%%%.%%%%%%.%%%%%%%%%%%%.%.,,.%%%.%,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%.%.%%.%.%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%,%%%%%%%%%,..%.%.,,.%%%%%%%.%%%.%%%%%%%%,,,,..%.%.%%%,,,,,,,,%%%%%****.......................................,.................................,%%%%%,,,,,,,,,,,,,,,,,,
~~~~~~~,,,,,,,,,,,,,,,,,-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,i,,%%%%%,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,i,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~%%%%,,,,,%%%%~~~~~~~~%%%%%%%..%..%.%%%%%.%%%%%%%%%%.%.%%..%.%,,,,%%%%%%%%%,%%%%%..%%%%%%%.%%..%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%,%%%.%%%.,%%%%%%%%%%....%%%%.%%%%%%%%%%%%%%%.%%%%%%..%%%..%%%%%%%,%.%%%%%%%%%%%.%..%%.%.%%%%%%%.%%%%%%%%%%%%.%.%%%%%%%%%%%,,%.%%.%%%%%%%%%%%%%%%%%%%%%%%.%.%.%%%%%.%%%%.%%%%%%%,%%.%%%%%%%%%%%%%%%..%%%%%%%%.%%%%%%%.%%%%%,..%%%.%%%%%%.%.%%%%.,,.%%%.%%%%%%%%%%%%%%%%.,,.%%%..,,,.,,,,,,,%%%%%,***...%%%%...................................................%%%.,,.....~~~,................,,,,,,,,
~~~~~~~,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,%%%%,,,,,,,,,,,,%%%%,,,,,,,,,,,,,i,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~%%%%,,,,,,,~~~~~~~~~~%%%%%%%,%%%%%%%%%....%%%%%%%%,%%%%....%%%,,,..%%%%%%%%,%%%%%%.%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%.%.%%%..%%%%%.%%%%%%%%%...%.%.%%%%%%%%%%%...%.%%.%%%%...%%%%%%%%.%%,%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%%.%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%.%%%%%%%%%.%.%.%%%%%%%%%..%%%%%,%%%%%%..%.%%%%%%%%.%%%%.%%%.%%%,,,,.,,,,,,,,%%%,,,,.....%%%%................................,............................~~,.................,,,,,,,,
~~~~~~~,,,,,,,,,,,,,,,,,,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~-,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,..,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,~~~~~~~~~%%%%,,,,,%%%%.%%%%%,,,%%%%%%%%%.%.%%.%%%%%%%...%%%%%%%...%%%..%%%%%%%%%%%.%%%%%.%%.%.%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%.%.%%%%%%%%%%%%%%...%%%.%%%..%.%.%%.i%%%.%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%%%.%%.%%%.%%%%%%%%%%%%,.%%%.%.%%%%%%%%%%%%%%%%%%%%%...%%%%...%%%%%%%%%%%%%%%%.,%..%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%.%.%%%%%%%%%%%%%%%%%.%%%%%....%%%%%%%%%..%.%%%%.%%%.,,,,,,,,,,,,,,,,,,,.............................~.............................................................,,,,,,,,
~~~~~~,,,,,,,-,,,,,,,,,,------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~,,,,,,,,,,,,,,,,,,i,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~~%%%%.~%%%..,..,,,%%%%%%%%,,,,,%%.%%%%%%%%%%..%%%.%.%.%.%%%%%%%%,.%.%%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%.%%,.%%%%%%%%%%%%%%.%%%%%%%%%%.%%.%%.%%..%%%%%%%%%%%..%%%%.%%%%%%..%%%%....%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%.%%%%%.%.%.%%.%%%%.%%%%%%%.%%%.%%.%%.%%%%%%%%%%%%%%%%%%%%...%%%%....%%%%%%%%%%%%.%.%.,.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%.%%%%%%%,%%%%.%%%%.%%%%%%%%.%%%%%%%%%%%%,~~~~~~,,,,,,,,,,,,............................~~.....................................,,......................,,,,,,,,
~~~~~~,,,,------,,,,,,,,-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,~~%%%%%~..%%.%%%%%,,,,..%%%.,,,,,,.%%%...%%.%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...%%%%%%..%%%%%%%%%%%%%%%%%%,%%%%%%%%%.%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%.%.%.%%%%%.%%%.%%%%..%%%%%%%%%%%%%%%%.%..%%%%%%%%%%%%%%%%%.%%.....%%%%%%%%%%%%.%%%%%...,%%,%%.%%.%%%%%%%%%%%.%%%%%%%..%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%...%%%%%%%%%%%%%%%.%.%%.%%%%%%%.%.%%%%.,%%%%%..%%%%%%%%%%%%%.%.,%%%%%%%%~~~~~~~~,,,,,,,,%,.............................~~.....................................,.......................,,,,,,,,
~~~~~~~,,--------,-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~,,,,,,,,,,,i,,,i,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,~%%%%%%%%%.%.%%.%%%,,,,,,,,,,.%%%%.%.%%%%%%%%.%%.%%%%%.%%%%%%%%%%%%%%%.%%%%%%%%%%%....%%%%%%%%%%.%%%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%%%%%%%%%.%%%.%%.%%%.%%.%%%%%%%%%%.%%%%%%%%%%.,,%.%%%%%%%%%%%%%%%%%%%.%%%.%....%%%%%%%%%%.%%%%%.,,%%.%%.%%.%%%%%%%%%%%..%%%%..%%%%.%%%%%%%%%.%%%%%,%%%%%%%.%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%.%.%...%%.%%%%%%%%%,.,%%%%~~~~~~~~~~,,,,,,%%%....................,........~~.............,...............................................,,,,,,,,
~~~~~~~~,-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%..%%%%%%%%.,.,...,,%%%%%%%%%.%%%%%..%.%%.%...%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%..%%%%%%%%.%%%%%%%%%%%%%.%,.%%%%%%%%%%%.%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%..%%%%%%%%%%%%%%.%%%%,,,%%%.%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%.%%%%%%..%%.%.%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%..%.%%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%%%..%%%.%%%%%%%%%~~~~~~~~~~~~,,,,,,%,......................,....................................................,................,,,,,,,,
~~~~~~~~-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%.%%%%%%%.%...%%%%%%.,%%%.%%%%..%%%%%%%%%%.%%%%.%%%%%.%%%%%%%%%%%%%%%.%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%%%,%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%.%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%.,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%.%.%%%%%%%%%%%%%%%%.%%..%%%%%%%%%%%%.%%.%%.%%%..%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%..%.%.~~~~~~~~~~~~~,,,,,,,,...................,....................................................,,.................,,,,,,,,
~~~~~~~~~--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%.%%%%%...%.%%..%%%%%%%%%%.%%%.%...%%%.%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%.,,.%%%%%%%%%%%%.%%%%%%%%%%%%%.%%%%%%%%.%%%%%%%%%%,%..%%.%%%%%%%%%%%%%%%%%%.%..%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%,,.%%%%%...%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%.%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%.....%.%%%%.%%%%%%%%%%%...%%%%%%%%%%%,...%%%%%%,,~~~~~~~~~~~~~~~,,,,,,.........................................................................,....,.............,,,,,,,,
~~~~~~~~~,,-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%..%%.%..%%.%%%%..%%.%%%%%%%..%%%%.%%%..%%%%%%%%%..%.%%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%..%%%%%%%%%%..,%%%%%%%%%%%%,%%.%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%...%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.,.%%%%%%%.%%%%%%%%%%.%.%%%%%%%%%%%%%%%.%,..%..,,%%.%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%%%%%%%%.%.%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,.%..%%%%%%%%%%%%%%%%.,,.%%%%%%%%%%%%%%.%.%%%%%.%.,,~~~~~~~~~~~~~~---,,,.........................................,...............................,.,.,,.............,,,,,,,,
~~~~~~~~~,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%.%%%%%%%%.%%%%%.%%%%..%%%%%%..%%%%%%%%.%.%.%%%%%%.%%%%%%%%%%%%%%%%%%%..%%.%%%%%%%%%%%%%%%%%.%%%%%%%%%.%.%%%%%%%%%%.%%%%%.%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%*.*.%%%%%.%.%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%,,,%%.%%.%%.%%%%%%.%%%%%.%%%%%.%%%.%%%%%%%%%%%%.,,.%%%%%%%..,%..%%%%%%%%%%%%.%%%%%%%%,%%%%%.%.%%%%%.%%%%%.%..%.%%%%%%%%%%%.%%%%.%..%%%,,%%~~~~~~~~~~~~~---,,,...............................................................................,............,,,,,,,,
~~~~~~~~~,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%..%%%%%%%%..%.%..%%%.%%%%%%%%%%%%%%.%.%%.%%...%.%%%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%%%%%%%%%.%%%%%%%%%%.%%.%%%%%%%%%%%%.%%.%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%.%.%%%,,,%.%%%%%%%%..%%%%%%%..%,%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%.%%%%.%..%%%..,%%%%%.%%%..%.%...,.%%%.%%%%%%%%%%%%%%%.%%%..%%%%..%%%~~~~~~~~~~~~-,,,,,........,..............................................................,.,,%................,,,,,,,,
~~~~~~~~~,,,--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,~~~,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%..,.%.%.%%%%%%%...%%.%%%%%.%%%%.%%,,,,%%..%.,,,%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%.%%%%%%%%%,%.%%%%%%%%%%%%%%%%%%%%%%%%%%%..%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%.%.%.%%%%%%%%%%%%%%%,%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%%.%%%%%.,,%%%%.%%%...%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%.%.%%%.%%%%.%%%%%%%%%%%.,,%%%%%%.%%%%%%%%%%%%%%.%..%%%%%..%%%~~~~~~~~~~~~-,-,,,,,%%%.,...................................................................%%................,,,,,,,,
~~~~~~~~~~,,,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%..%.%%%%..%%%%%%%%%%.%.%.%%%%%...%%%.%,,%...%%%%,%,%%.%%.%%%%%%%%%%%%%.%%%%%%%%%...%.%%%%%%%,.%%%%%%%%%%%..%.,%%%%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%,.,%,,%%%%%%%%%%%%%%%%.%%%%%%.%%%%%%..,%%%.%.%,.%%%%%%%%%%%%%%.%%%%.%.%%%%.....%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%.%%%%%%.%%,,,,%%%%%.%%.%%%%%%%%%%%..%%.%%%%%%%%%%~~~~~~~~~~~~,--.,%%%%%%..,.,................................................................%%.....,..........,,,,,,,,
~~~~~~~~~~,,,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------~~~,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%..%%%.%..%%%%.%%%%.%%%%%%%%.%.%..%%.%,%.%%%%%%%%..%.%%%%%%%%%.%%%%.%.%%%.%.%.%%%..%%%..%%,,%%.%%%%%%%%%%..%,,%%%%.%%%%%%%%%%..,..%%%%%%%%%%%%%%%%%..%%%%%%%%%%.,%%%%%%%%%%%%%%.%%%%.%%%%%.,,%%%%%%%%%%,.,.%%%,%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%%%,,%.%%%%%.%%%..%%%%%,.%%%%%%%%%%%.%%%%.%.%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%..%%%%%.%..~.%%%%%,,.%%%%%.%%.%%,%%%%%%%,....%%%%%%%%%%%%%%%%%%%%%%%%%,,~~.~.~~~%%%%-%%%%%%%%%..,............................................................,,...%%................,,,,,,,,
~~~~~~~~~~~,,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~,,,,~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%.,..%%%%%.%.%%%,,,,.%%%%.%.%.%%%.%,%%%%,%.%.%%%.%..%%%...%.%.%.%.%%%%%,%%%.%%%%..%%%%%%..%%.%%%%%.,%%%%%%.,.,,,%%%%%%%%.%%%%.%%%,%%%%%%%%%%%%%%.%%.,,i,%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%.,.**%%%,%%.%.%..%%%%%%%%%%.%%..%%%%%%.%%.%%%%%%%%%%%%%%%%%%%,.%%%%%%%%%%%%%.%%%.%%%%%%%%.%%%%%%%%%%%%%%%%.%%%%%%%%..%..%%%%%~~~~~~,,,,.%.%%...%.%%%%%%%%%%%.%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%.~~%%%%,%%%%%%%%%....................................................,................%............%%%.,,,,,,,,
~~~~~~~~~~~~,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------~~~~~,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%%%%%.%%%,%%%..,,,.%%%.%.%....%%%%.,,,,,%%%%%%%.%%..%%%..%%%%%%%%%%%,,,%.%%%.%%%%%...%%.%%%%%%%%%%,%%%%%%,,,,,,%%%%%%%%,%,%%%%%%%%,%%%%%%%%%%%%%,.,,,,,%%%%%%%%.%%%,%%.%%%%.%%%%%,..%%%%%%%,,%%%%%%%%%%%***.%....%%,..%%%..%%%%%%.%%.%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%,%%%%%%%%%%%%.%%%%..%%%%%.%%%%%%%%%%%%%.%%%%%%%%%%%%%.%%%%%.%%~~~~~~~,,,%%%%...%%%.%%%%%%%%%%,%%%.%%%%%%%%%%%%%%%%%%%%%%%%%.%.%.%.%~~%%%%%%%%%%%%%%.%................................%%%%..............................,.,...............,,,,,,,,
~~~~~~~~~~~~,,,-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~,,,,~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%%%%%%%%.%.%%.,,,,,%,,,%%.%%..%%..%%%%.%%%%%,.%.%%%%%%.%.%.%.%%%%%.%%%%%%,%.%%%%%%.%%.%%....%%%%%%%%%%%%%%..%,,,,,,%%%%%.%%%,,,%%%%%%%%.%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%..%%%%%%%%%%%%%,,%%%%%%%%--%%%%,*%%%%******%%%.%.,.%%%..%%%%%%%.%.%.%%.%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%.%%%.%.%..,%%%.%.%%%%.%%%%%%.%%%%%%%%,,.%%.%%%%%%%%%%~~~~~~~~~%%%%%%.%%..%..%%%%%.%%..%%%%%%%%%%%%%%.%%.%%%%%%.%%%%%..%%%...%..%.%%%%%%%%%%%%%..............................%%%%.........%%..................,,......,..........,,,,,,,,
~~~~~~~~~~~~,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------~~,,,,~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%.%%%%,,%%%%%%%%%.,,,..%%%%%.....%%%%.%%%.%%%%%%%,.%%...%.%.%..%.%%..%.%%%%%%%%%%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%...,.%%%%%%%%%%%%%%%%%%%.%,,,,,,,,,,,,,%.%%%,%%%%%%%%%%%%%.,-----------,,,,,,*,,******%.%...,,%%..%%%%%%,%%%%%%%%%%%%%%%..%%%%%%.%%%%%%%%%%.%%%.%%%%%%%%%%%%....%%.%%.%..%..%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%%%%~~~~~~~~~%%%..%.%.%%.%.%%%%%%%%.%%%.%%%%%%%%%%%%%.%%%%%%%%%%.%%%%%%%%%.%%...%%%%%%%%%%%%%..............................%%%%........%%%%%........,...............,..........,,,,,,,,
~~~~~~~~~~~~,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------~~,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%,,%%%%%%%%%%%.,.%..%.%.%%%%%%%%%%%..%.%%%%%%,,.,.%%%%%%%%.%%,%%%....%%%%%%%.%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%.%.%..%%%%%%%%%.%%%%%%%%%%.,,,,,,,,,,,,..%.%%%,%%%%%%%%%%,,,,-----------,,,,,,,,,*,*,,,.%%%%.,%%%%%.%%%%%%..%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%.%%%%%..,.,,.%%%%,%.%%%%%%%%%%.%%%%%%,,,%%%%.%%%%%%%%~~~~~~~~%%%%%%%%..%%%..%%%%%%%.%%%.%%%%%%%%%%%%.%%%.%%%%%%.%,.%%%.%%%%.%.%%%%%%%%%%%%%%%%.............................%%%%%.......%%%%%%.,.................,...,,,.........,,,,,,,,
~~~~~~~~~~~~,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------,,,,,~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~~%%%%%%.%%,,,%%%%%%%%%%%..%.%.%.%.%%%%%.%%%%%%%.%%%%%%%,,,,%%%%%%%.%%%%%,.,.,.%%%%%.%%%..%.%%%%%%%%%...%%%%%%%%%.%%%%%%%%.%%%%%%%%%%...%.%.%%%%%%%%%%%%%..%%%.%%,,,,~~~,,,,,,.%%%%%%%%%%%%%%.%%,--~~~~~~~~~~~-,,,,,,,,,,,,,,%.%.%.,%%%..%%.%%%%%%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%%%%.%.%.%%.%.,,,,,.%%%%%%%%%%%.%%%%...,,.%%%%%%%%%%%%~~~~~~~~~%%%%%%%%%%.%%.%%%%%%%%.%%%...%%%%%%%%%..%%%%.%%%%%%%%%.%%%*%....%%%%%%%%%%%%%.,,..............................%%%%%........%%%%...,.......................,,.......,,,,,,,,
~~~~~~~~~~~~~,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,,,-,,,,,,,,~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%,,,%%%.%%%%%,.,.%%%%%%%.%%%%..%%%%%.,%%%%%%.,,,,,%%%%%%.,%%%%%.,,,,,%%%%.%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%..%%.%%%%%%%...%%%%%%.%%%%%%%.%%%%..%%%%%%%,~~~~~~,,,,,,%%%%%%%%%%%%%%%%%.-~~~~~~~~~~~-,,,,,,,,,,,,,,.%%%%%.,%%%%%%.%%%%%%...%.%%%%%%%%%%%%%%%%%%%%%.%%%%%,..%%%%.%%%.%%%..%%%%..%%%.,,,,,%%%%%%%%%%%%%%%%%%%%%%%...%%%%%~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%.,%%%%%%%%.%%%%%%%%%%%%%%%%%%.%%%.%%..%.%%%%%.%%%.%%%%%%%%*.,,.............................%%%%%........%%%%....................................,,,,,,,,
~~~~~~~~~~~~~~,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,~~~,~~~~~~,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~%~%.%%%%%%%%%%,,%%%%%%%%%%,,,...%%%.%,%.%%%.%.%%.%%%%%%..%,,,,,.%%%%%%,,%%%%...,,,,%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%.%%%.%%%.%%%%.%.%%.%%%%%%%%%%%..%%%%%%%%%%~~~~~~~,,,,,%%%%%%%%%%%%%%%%.-~~~~~~~~~~~-,,,,,,,,,,,,,,,,.,..%%%.%.%%%.%%%%%%%%%%%%%%%%%.%%%.%%%%%%%.%%%%%%%,.%.%.%%%%%%%%%%,%%%%%%%%%.,,,,,%%%%%%%%%%%%%%%%%%%%.%%..%.%~~~~~~~~~~~~~~~%%%%%%%.%...%%%%%%%,,%%%%%%%%..%%%%.%%%%%%%%%%%%%.%%.%%%%..%.%.%%%%%%%%.%%%%***%%%.............................%%%%.......%%%%%....,..........,,,.,,...............,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,-~~~~~~~%%%%%%%%.%%%%..%%%%%%%%%%%..%%%..%%.%,,%%.%,,.%%%%%%%%%%%%%,,,,,%.%%%%,%%%%.%..%.%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%.%%%%.%.%%%%%%%%%%...%...%%%.%%%%%%%%%.%.%.%%%%%%%%%%%~~~~~~~~,,.%%%%%%%%.%%%%%%%-~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,%%%%%.%%%%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%..%%%%%,,,%%%%%%%%%%%%%%.%%%%%%%%%.,,,,,%%%%%%%%%%.%%%%%%%%%.%.%...-~~~~~~~~~~~~~~~~%%%%%%%%%%%.%..%%%,,,%%%.%.%%%.%.%%%%%%%%%%%%%%%.%%%%%%.%%.%%%.%%%.%%%%%%%%*.*%%%....,........................%%%%........%%%%................,,,,................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,,,,,,~~~~%%%%%%%.%%%..%%%%%%%%%%%%%%%%%%.%...%%%%...%%%%%%%%%%%%%%%%%,,,,%..%%.%%%%%%%..%...%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%.%%%%%%%%%.%%%.%%%%%.%%..%%%%%%,.%%%%%.%%%%%%%%%%%~~~~~~~~,-,%%%%%%%%%%%%...%~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,%%%%%%%.%.%%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%,,.%%%.%%%%%%%%%%%%.%%%%%%.%,,,,,%%%%.%%%..%%%%%%%%,%..%%%.--~~~~~~~~~~~~~~~~~~%%%%%%%%%.,.%.%%.....%%...,,%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%%.,%.%.%%%%*.%%%..................,,.......%%%%%......%%.%%%.................,..................,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~,,,,,,,,~~~~~~~~,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,~~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%%.%%%%%%%.%...%%%%,%%%%,,,,.,...%%%%%%%%%%%~~~~~~~~~-,,%%%%%%%%%%%%%%%-~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%.%%%%%%%%%%%.%%%%%%%%%%%.%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%.%%%%%%%%%%,,.....%%%%%%%%%%%%%%.,.,%%%%%..-~~~~~~~~~~~~~~~~.%%%%%%%%%%.%%%%%.%...%.%%%.,.%%%%%%%%%%%%%%%%....%%%%%%%%.%%%%%%%%.,,...%%%%%%%%%.,.......................%%%%%%.......%%%%%................,..%................,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~,,,,,,,,~~~~~~,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%.%%%%%%%%%%%%.%%.%%%%%%%%%%.%%%.%%%%%%%%%%%%%%.%%%,%%%%%%.%..%.%..%%%%%%%%%%%%..%%%%%%%%%%.%%%%%%,%%%%%%%%%%%%%%.%%%%.%%%%%.%%%%,,,.%.%%,,,,,%%%%%%%%%%%~~~~~~~~~~~-%%%%%%%%%%%%%%%%-~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,%,%%....%%%%%%%.%%%%,,%%%%%%%%%%%%.%%%%.%%%%%.%,.%%%%%%%%%%%.%%%.%%%%%%%%%.%.%%.%%%%.%%,%%.%%%..%%%%.%...%%.~~~~~~~~~~~~~~~~%%%%%%%%%%%.%%%%.%.%%%..%%%.,,,,%%%%%%%%%%%%%%.%%%%%.%%%%.%%%%%%%%.,*,%%%%%%.**,,.........................%%%%%%.......%%%%%...............,...%................,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~,,,,,,,,~~~~~,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%i%.%%%%%%%.%%%%%%%%%%%%%%.%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%%%%%,,%%%%%%%%.%%%%%%%%%%%..%..%%%%%.%%%%%%%,,,,.%%%%%%%%%~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%--~~~~~~~~~~,,,,,,,,,,,,,,,%,%%,,,%%%%%%%.%%%%%%%%%.%%%%%%%%%%%%%%.%%%%%%%%%.%%%%%,%%.%%%%%%%%%%%%%%%%%%%%.%%.%%.%%%%%%%%%%%%%%%.%%%...%.%%%%%,~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%.%%%%%.%.%.%%.,,,%%%%%%%%%%%.%%.%%%%%%%%%%%%%%%%%%%*%%%%%%%%***,,.........................%%%%%%.......%%%%%%.%.............,,.%................,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%..%%....%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..,.%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%.%%%%%%,%%%%%.%%%%,.%%%%%%%%%%%%~~~~~~~~~~~~~~%%%%%%%%%%%%%%%.--~~~%%%%%~~,,,,,,,,,,,,%,%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%..%.%,,%%%%%,%%%.%%%%%%%%%%%%.%%%%%%%%.%%%%.%%%.%%%%%%%%%%..%%%%%%%%%%%%,~~~~~~~~~~~~~~~~%%%%%%%%%%%%%.%%.%%%%%..%%.%%%.%..%%%%%%%...%..%%%%%%%%%%%%%%%%%%%%.%%%%%%%,***.,,.,.......................%%%%%........%%%.%%%%..,,..........,.........,.......,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,,,,,,,,,,,,,,,,,,,,ii,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%.%%%%%%%%.%%%%%%%%%..%%%%%%.%.%.%%%%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%.%%%%%%%%.%%%%%%%%.%.%%%.%%%%,%%%%%.%%%%,%%%%%%.%%%%%~~~~~~~~~~~~~~~%.%%.%%%%%%%%%%%-.%%%%%%%%,,,,,,,,,,,.%%%%%%%%%%%%%%%%.%%%%%%.%%%%%.%%.%%%%%%%%%%%%%%%.,,,,,,,%....,,,%%%%%%%%%%%%%%%%%%%%%%%.%%%%.%%%.%%%.%..%,,..%....,%%%%%.,,,~~~~~~~~~~~~%.%%%%%%%%%.%........%%..%%%%%%%.%%..%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%.**,,,*.........................%%%.%%%..%%%%%%.%%%%.,,.......,.....,..............,,,,,~~~~~~~~~~~~~~~,~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%.%%%%%%%%%%%.%%%%%%%%%..%.%%%%.%.%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%..%%%%%%.%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%.%%%%%,%%%%%%.%.%.%%%%%%%%.%,,~~~~~~~~~~~~~~~.%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,.%%%%%%%%%%%%%.%..,.%%%%.%%%%%.%%%%%%%%%%%%%.%.%%%..,,%%%,.%..%%,.,%%%%%%%%%%%%%%%%%%,%%.%%%%%%..%%%%%%%%%%%.%%.%%.%%%.%%%%%%%,%%%~~~%%%,-%%%%%%%%%%%%%.%%%.%%....%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%%.%%%%%%%%%%%.,%%.%%%.%%%....,*.........................%%%%%.%%%%%%%%.%%%%%%%,......,.....,,..............,,,,,,~~~~~~~~~~~~~,,,~~~~~~~~~~~,,,,,,%%%%%,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,%%%%%%%%%%,,%%%%%%%%%%%%%%%%.%%%%%%%..%%%%.%.%.%%%..%.%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%%..%%%%%%%%.%%.%%%%%%%.%%%%%%%%%%%%%%%%%%.%%%%%.%%%,~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%%%%%%%%.%%.%%.%%%%%%%%%%%%%%.%%%%%%%%%%%%.%%.%%,%%%%%.%.%...%%%%%%%%%%%.%%%%%%%.%%%%%%%%.%%%%%%%%,%%.%%...,%.%%%.%%%%%%%%.%%%%%.%.%%,%%%%%%%%%%%%%%.%%%.%%%%%%%%%%%%%%%%%%...,,%%%%%%%%%%%%%%%%%%%%%%.%%%,.%%%%%%%%%%.%%.%....%%...................%%%%%%.%%.%%%%%%%.%%%%.............................,,,,,,,~~~~~~~~~~~~,,---~~~~~~~~~,,,%%%%%%%%%,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,-,,,,,,,,,,,,,,,,,,,,i,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~--,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,%%%%%%%,,,,%.%%%%%%%%%%%%%%%%%%%%%%.%.%.%%%%%%.%.%.%%%%%%%%%%%%%%%%%..%%%%%%%.%.%%%...%%%%%%%%%%%%%%%%%%%%%%%%.,.%.%%%%%%%%%.%%%%%%.%.%.%%,....%%,%%%%.%%%.%%%%%.%%%~~~~~~~~~~~~~~~~~%%%%%%%%.%%%.%%%.%%%%%%%%%.%%%%%%%,%%%%%%%%%%%%%..%.%.,%%%%.%%%%.%%%%,,%%%%%%%%%%%..%%.,%..%%.%%%%%%%%%%%%%..%%%%,%%%%%%%%.%%%%%%%%%.%%%.%%%%%%,%%..%%%%.%%%%%%%%.%%..%%%%%%.,%%%%%%.%%%%%%%%%%%%%%.%%%%%%%.%%%%%..,,,%%%.,%%%%%%%%%%%%%%%%%.%%.%,%%%%%%%%.%.%%%.%%%%%%%%......,...%%%%%.%%%%%%%%.%.%%%%.%%%%%%%%%%...........................................................................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,--,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,%%,%,%%%%%.%%..%.%%%%%%.%%%%%.%%%%%%%%.%%%%.%%%%.%%%%%%%.%%%%%%..%%....%%%%%%.%%%%%%%.%.%%%%%%%%.%,,,.%%%%%%%%%%%%%%%%.%.%%.%%.%%.%%%%%%.%%%%..,,.%%%%%%~~~~~~~~~~~~~~~~~~%%%%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%,,,%%%%%%%%%%%%%%%..%%.%.,.%%%%%%%%%%%.%%%%%..%%%%%%%%%%%%%%%%%%.%%%%%%%%%%.%.%%%%%%%%%%.%%%%%%.%%.%.%%%.%%%%%%%%%.%%%%%%%.%.%%%%%%%%%%%%%%%%..,,,,,,,,%%%%%%%%%%%%%%%%.%%%.%%%%%%%%%%%.%%%..%%%%%%%%%.....,,.........%%%%%%%%.%....%%%.%%%.%%%.............,.............................................................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~,--,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%,,,,,,,,,,,,%,,,%%.%.%%%%%%%%%%%%..%.%%.%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%...%%%%.%.%.%.%%%%%%%%%%%%%%%%%%%%,,,,%.%%%%%.%%,,%.%%%%.%..%%%.%.%%%%%%%.%.%.%,,.%%%%%%%%%%~~~~~~~~~~~~~~~~~-.-%.%.%%%.%.%%%%%%%%%%%%%%.%%%..%%%%%%%%%%%%%.%%%%%%%%%%%%%.%%%,,,,,%%%%%%%%%%%%%.%.%.%%%..%%%%%%%%%%%.%%%%%%%.%%%.%%%%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%.%%%..%%%.%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%.%%%%,.,,,,,,,,,%%%%%%%%%%%%%%%%%%%..,%%%%%%%%%%%%%%%%%%%.%%%%.......,.........,,%%%%%%%.%.%%%%...%%%%%..,.........................................................................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~~,---,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%.%%%%%.%%%%%%%%%%%.%.%%%%%.%%%%%.%%%%%%%%%%%%%~%%%%%%..%%%%.%%%%..%%.%%%%.%%%%%%%%.%%%,,,.%.%%%.%%.%,,,,,%%%%%%%..%..%%%%%%%%%%%.%.%,%%%%%%%%%%%%~~~~~~~~~~~~~~~~~---%%%%%.%%%%%%%%%%%.%%%.%%.%%.%.%%%%.%%%.%%%%%%.%%%%%%%%%.%%,,,,,,,,,%%%%%%%%%.%%..%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%.%.,.%%%%%%%%.%%%%%%%%%%%%%%%%%.%.%.%%%%%%%%%%%%.%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%%.%%%%%%.%%%.........,.......,,,.%%%....%.%%%%.%%%%%%%.,.........................................................................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~-~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%.%.%%%.%%%.%.%%%%.%%%.%..%%%%%%%%%%%%%%....%%%%%%%%%%.%%%%%.%%%%%.%%.%%%%%%%%%%%%%%%%%%%.,.%%%..%%%%.,.,..%%%%%%%%%.%%%%%%%%%%%%.%%%%%%.%%%%%%%%%~~~~~~~~~~~~~~~~~---..%%.%%%%%%%%%%%.%.%..%%...%.%.%%%%%%%%%%..%%%%%%%%%%%%%%,%,,,,,,,,,%,%,%%.%...%.%.%%..%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%,.%%%%%%%.%%.%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%%%%%%%.%%%%.%..%%%%%%%%%%%%.%%%%%.%%%%%%......,,,,.....,,,,,,.%%%%%%%,..,,%%.%%%%%%..........................................................................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~-~~---,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%.%%%.%%,.,,%%%..%%%..%%%%%%%%%%..%%%%%.%%%%%%%.%%..,.%%%%%.%%..%%.%%.%%%%%%%%%%%%%%%%.%%,%.%%%%%%%%%%..%.%%%%.%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~---.%%%%.%%%%%%%%%%%%%..%%%%,,.%%%%%%%%%%%%%%..%%%%%%%%%%%%%%,,,,,,,,,,,,,,%.%..%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%.%%.....%%.%.%.%%%%%%%%%.%%%%%.%.%%%%%%%%%%%%%%%%.%%%%%%%%%%%.,,,,,,,,,,,,%%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%*.%%%%%%......,..,..,,,,,,,,%%.%%%%%,,%%%%%%.%%%%.%%..........,.....................................................,.......,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~-~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%.%%%%.%,.,%%.%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%.%.%%%%%,.%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%.%%%%%%%%%%%%%..%.%%%%%%%%%%%.%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~----.%%..%.%%%%,%%%%.%.%.%%...%.%.%.%%%%%%%%%.%.%.%%%%%%%%%%.,,,,,,,,,,,,,,.%%%%.%%%%..%%%%%%%%%%%%%%%%%%%%%%,%%%.%%.%%%%%%%%..%%%.%%%%%%%%%%%,.%%%%.%%%%.%%.%%%%%%%%%%%.%.%.%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%,,%%%%%%%%%%%%%%%.......,,,,,,%%%%%%%%%%.%%%%%%%%%%%%%%%...................................................................,....,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~---~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,%%%%%%%%%%%.%%%%%%%%,..%%%%%.%%%%%.%%%%%%%%%%%%%%%%%%%%.%%..%%.%..%%%%%%%%%%%%.%.%%%%%%%%%%%%%%...%%%%%%%%%.%%%%%%%%%%%%%%..%.%%%%%%.%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~---.%%%..%%%.%%%,.%%%...%.%%.%%%.%%%%%%%%%%%%.%%%%.%%%%%%%%%,,,,,,,,,,,,,,.%%%.%.%%%%%%%.%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%...%%%%%%%%%%%.%..%%%%.%.%.%.%%%%%%%%%%%.%%%..%%.%%%%%%%%%%%%%%%.%.%%%..,%%%.,,,,,,,,,,,,,%..%%%%%%%%%.%,%%.%%%%%%%%%%%%%%.,%%%%%.%%%%%%.%%%%..,...,,,,,%%%%%%%.%%%%.%%%%%%%%%%%%%%........................................................................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~-------,,,,,,,,,--,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,%.%%%%%%.,%%%%%%%%%~%.%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%.%%%%%%%%.%%%%%%%.%.%%%%%%%%%%%.%%%%%%%%%%%%..%%%%%%%%%%.%%%%..%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~--..%%.%.%%%%%%.%%%.%%%%%,,,%.%.%...%.%%%%%%%%.%.,%.%%,..%%,,,,,,,,,,,,,,..%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%,.%%%%%%%%.%.%%%.%...%%%%%%%%%%%.%%%%.%%%%%%%.%%%%%%%.%%%..%.%%%%%%..%.%%%%%%%%%%..%%%%%%,,,,,,,,,,,,,,,i,,%%%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%.%%%%%%%%%%%%%%%%%%%,.....,,,%%%%%%%%%%%%%%.%%%%%%%%%%%%%%.......................................................................%,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~------------,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,~~,,,,,,,,,,,.%.%%%.%%%%%%%%%..%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%..%%%%.%.,%%,,%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%..%.%%.%%%%%%%.%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~--%.%%.%%%.%%%%%%%%.%%..%%%.,%%.%.%%...%%%%%%%.%%,,%%%%,%%%%,,,,,,,,,,,,,,.%.%%%.%%..%%%%%%,.%%%%%%%%%%%%%.%%%%.%%%%%.%%%.%.%%.%%%%%%%%%%%%%%%..%%%%.%%%%%%%.%%%%%%%%%%%%.%%.%%...%%%%%%%%%%%%%%%.%.%%%,,,,,,,,,,,,,,,,,,%.%.%.%%%..%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%,....,,,,%%%%%%%%%%%%%%%.%%%%.%%%%%%%%.......................................................................%,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~-------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~,,,,,,,,,,.%%%%%%%%%%%%%%%%.%.%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%.,%%....%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%...%%%%%%%%%%%.%.%%..%%%%%%%..%%%%%%%%%%%,~~~~~~~~~~~~~~~~~~~%%%%%..%%%%.%%%%%.%.%%%%%%%%%,%%%.%.%%%%.%%%%%.%%%%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%%.,%%%..%%%%%%%%%%%%%.%%%%%,%%%.%%,%%%%.%%......%%%%%.%%.%%%.%%%%%%%%%%%%%%%%%%%%%%.%%.%.%%%.,,%%%%%%%%%,%%%.%.%%%%%.,,,,,,,,,,,,,,,%%%%.%.%.%%%.%%%..%%%%%%.%%%%%%%%%%%%..%%%%%%%%%%%%%%%.,,,,,,,,%%%%%%%%%%%%%%%%%%.%,%%%%%%%%........................................~..............................%,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------~----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~,,,,,,,,,,%%%%%%%%%.%%~~%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%..,.%%%%%%%%%%%.%..%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%.%%.%%%.,%.%%%%%%%%%%%%%%%%,,,~~~~~~~~~~~~~~~~~.%%%%%.%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%.%%%%%%%%%%.,,,,,,,,,,,,,,,%%%%%%%%%...%%%%%%%%%%%%%%%%%%%%.%%,,,.%%%,.%%.%%%%.%%..%..%%%%%%%%..%%%.%%%%.%%%.%%%%%%%%%%%%%%%.%.%.,%..%%%%%%.%%%%%...%.%%,,..,,,,,,,,,,%%%%%%%%.%%%.%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%,%%%,,,,,%%%%%...%.%%%%%.%%%%%%.%%%%%%........................................~~.............................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,------~~~~~~~~~,,,,,,,,,%%%%%%%%%%%%..%%%%%%%%%%%%%%%%,.%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%.%.%%%%%.%%%%%.%%%%%%%%%%.%%%%%%%%%%%.%%%%%%%%%%%%.%.%%%%%%%%,%%%%%%%%%%%%%%%.%%,,,,~~~~~~~~~~~~~~~--%%%%%.%%..%%%%%%.%%%%%%%%%%%%%%%%.%.%%%%%%%%%%%%.%%%%.%%.%.%%,,,,,,,,,,,,,,,%%%%%%%%%...%.%%%%%%%%%%%%%%%%%%%%,..,.%%%,%%%.%%%%.%%.%.%%%%.%%%.%%.%%.%%.%%%%%%%%%%%%%%%%%.%%%%...%%%%%%,%.%%%..%%%%.%%%%%%%%%.,,,,%,%,,,%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%..%%%%%%%%%%%%%%%%,,,,%%%.%%%%%%.%%%%%%%%%%.%%%%%%.............,..........................~~~~.~~~~~~~~~~~..........,.....,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,----~~~~~~~~~~~~~~~~,,,,%%%%%%%%%%%%%~~%.%.%%%%%%%%.%%%%.%%%%%%%%%%%%.%%.%%%%%%%%%%%%..%.%%.%%%%%%%%%%.%%%%%.,%%%%%%%%%.%%.%%%%%%%%%%%%%%%%%...%%%%%%%.%%%%%%%%%%%%%%%%%,,,,,,~~~~~~~~~~~~~~--%%%%%.%%%.%%%%,.%%%%%%%%%%%%%.%%%....%%%%%%%%%%,,%%%%%%%%%,%%,,,,,,,,,,,,,,,%%%%%%%%%%%..%%%%%%.%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%%%.%%.%%.%%%%%%..%%%%.%%%%%%%%%%%%%%%%%%.%%%.%%%%%%%%%.,,..%.,,%%%%%.%%%%%%%%.%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%.%%%%%%%%%%%%%%%,,,,,%%%%%.%%%%.%%%%%%%%%%%%%%%%..........................,..............~~~~~~~~~~~~~~~................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,-~~~~~~~~~~~~~~~~~~~,,,,%%%%%%%%%%%%~~.%.%%%%%%%%%%%.%%%.%%%%%%%%%%%%.%%%.%%%%%%.%.%%.%%%%%%%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%.%.%%%%%%%%%..%%%%%%%%%%%.,,%%%.%%%%%%%%%%%%%.%%%%%%%,,,~~~~~~~~~~~%%%%%.%%%%%%%%.%.%%%%%%%%%%%%.%%...%%%%%%%%%%%.%%%%.%%%%%%.,,,,%%%,,,,,,,,,,%%%%%%%%%%%.%%%%%%%%%%%%%%%%.%%%%%%%%.%,%%%%%%%%%%%%%.%.%%%%,.%%%..%%%.%.%%%%%%%%%%%%%%.%%%%%%%..%%%%%%%,,%...%%,.%%%%%%.%%%.%%%.%%%%%%%%%%%%%%%%%.%.%%.%%%%%%%%%%%%%%%%%%%%%%%..%%%%..%%%%.%%%%%%%%%%%,,,,,,%%%%%%%.%%%%%.%%%%%%%%%%%%..............,%%..........,..............~~~~~~~~~~~~~.................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%%%%%%%~~~~.%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%..%%%%%.%%%%%%.%%%.%%%%%%%%%%%%%%%.%.%.%%%,,%%%%%%%%%%%%%%%%%%%%,,.%%%%%%%%%.,..%%%%%%%%%%%%%%%...%%%%%%%,,,,-------~~.~.%.%%%%%.%%%%%%%%%%%%%%%.%%%.,-%%.%%%%%%%%..%%%%%,,%%%%.,.%%,%%%%%%,,,,.,%%%%%%%%%%..%%%%%%%%%%%%%%%%%.%...%%%%%..%%%.%%%%%.%%%%.%.%%%.,%%%%%%%.%%%%%%%%%%%%%%%%.%%%,,%..%%.%%%%%%%%%%%%%%,,,,,%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%.%.%%%%.%%%%%%%%%%%%%.%%,,%%%.%%%%%%%%%%%%%%%%%%%%%%%%........%%%%%.%%%.,%%%%...,,........~....~~~~~~~~~~~~~.................,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%-~~~~%%%%%%%%%%%%%.%%%%%%%%%%%.%%%%%%%%.%%%%%%%%%%%%%..%%%%%%%%%%%%.%%%%...%%%%%,,.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%%%,,,,,,-----~~~~~~~~~~.%%%..%%..%%%%%%%%%%%----%%%%%%%%%%%%%%%%%.,,%%%%%%%%%%%.%%%%,.,%%%%%%%%%%%%%%%%..%%%%%%..%%%%%%%%%%%%%.%%%.%%%%%%%%%%%%%.%%%..,%%.%%%%%.%%%%%%%%%%%%%%%%%%%%%%%..%.%%%%%%%%%%%%%%%%,,,,,%%%%%%.%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.,...~~~%%%%%%%%%%%%%%%%%%%%,%%%%%%%.%%%.%%%%%%%%%%%%%.%..........................,..,......~~~~~~~~~~~~~~~~~~~...~~~..........,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%--~~~%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%.%.%%%%%%%%%%%.%%%%%%.%.%.%%%%%%....%%%%%%%%%%%..%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..,,,,,-,,,~~~~~~~~~~%%%..%%%%%%%%%%%%%%-------~-%.%%%%%%%%%%%%,,.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%..%..%%,,.%%%%%%.%%%%.%.%%.,,,.%%%%%%%%.%.%.%..%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%..%%%%.,%,,%%%%%%%%%%.,,,%%.%%%%%.,%%%%%%%%%%%%%%.%%%.%%%%%%%%%%%%%%%%%%%%%.%.%%.%.%%%,,~~~~~~%%%%%%%%%%%%%%%.%.,%%%.%,..%%..%%%%%%%%%%%%.%.....................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~........,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%..%%%%%---~.%%%%%~%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%.%%%%%%%%%%.%%%%%%%%%%..%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%.,,,,,,,,~~~~~~~~.%%%%%.%%.%%%%%%%%%%-----~~~~-%%%%%%.....%.%.%,.,%%%%%%%%%%%%%%.%%%%%%.%%%%%%%%%%%.%%%.%%%%%%%%..%%%.%.%%,.,,i,,%%%%%%%%..%%%%..%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%.%.%,.%%%%%%%%.%%%,,%%%.%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%,,~~~~~~-%%%%%%%%%%%%%%.,.%%%%%%%.,,,,%%%%%%%%%.%%%.%%....................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~........,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,i,,,------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%.%%%%%,----%%%%%,%.%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%,..%%%%%%%%%%.%%%.%%%%%.%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%,,,,,,,,-~~~~~~~~%%%.%%%%%%%%%%%%.%%~~~~~~~~~~%%%,%,%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%.%.%.%%,%%%%%%%%..%%%.%%..,,,,,,,%%%%%%%.%%%%%,,%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%.%%%%%.....%%%%%%%%%.%.%%.%%%%%%%%%%%%%%%%%.%%%%%%%%%%,%%%%%%%%%%%%%%%%.%%%.%%%%.%%%%%,~~~~~~~~%%%%%%%%%%%%.%%%.%%%%%%.%..%%..%%%.%%%%.%%%%%..............,..............---...~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~.....,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%%,,-,,%%%,%.%%%%%%%%..%.%%%%%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%...%%%%%%%%.%.%%%%%%%%%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,~~~~~~~..%.%%%%%%%%%%%%%%%%~~~~~~~~~~~,%.,.%%%.%.%%%%%%%%%%%%%%%%%.%..%%%%%%%.,%..%%.%%.%%%%%%%%%%.%%%%.%.%%%%%%%%%,,,,.,%%%%%%%%%.%%.,.,%%%%%%%%%%,.%%%%%%%%%%%%%.%,,,.,%,.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%.%%%..%%%.%%%%%%%.%%,~~~~~~~~-%%%%%%%%%.%%%.%.%%%%%%%%%%%%%%%%%%%%.,,%%.%.....%........,............,.-----.-~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~....,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,i,-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%%%%,,,,,..%.%%.%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%..%%%%%%%..%.%%%%%%.%%%%%%%%%%%%%.%....%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%,,,,,,~~~~~~~~~...%%%%%%%%%%.%%%~~~~~~~~~~~~,..,.%%%%..%.%.%.%%%%%%%%%%%%%%%%%%.%%%...%%%.%%%.%.%.%%.%%%%%%%......%%.%%%%,,,.,.%%%%%%%....,,,,,%%%%%%%%%%,...%.%%%%%%%%%.,,,..%%%%%%%%%%%%%%%%%..%%.%%%%%%.%%%%%%.%%.%%%%%%%.%%%%%%%%%%***%%..%.%%%.%%%%%%%%%.%%%,,~~~~~~~~~-%%%.%%%.,.%%%%%%%%%%%%%%%%%%%%%%%%.%.%%%.%..%..%%....................---------~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~....,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%%%%%,,,,%%%..%%%%%%.%%%%%%%%%%%%%.%%%%%..%%%%%%%.%%%%.%%%%%%%%%%%%.%%%%%.%%%%.%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%.,%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,~~~~~~~~~.%%%%%%%%%%..,,~~~~~~~~~~~~,,,%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%....%%%%%%%%%%%%%%%%%%%%%%%.%..%%.%%%%%%%..%,,,,,,%%%%%%%%%%..%%%.%%%%%%%%%%%.%%%%%%%%%.%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%**.%.%%.%%%,%%%%%%,%%%..%%%%~~~~~~~~~~%%.%%%..%%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%...%...................-----------~~~~~~~~~~~~~~~~~~~~~~--,~~~~~.....,,,,,,,,
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%,,,,..%.%%%%%%%%%%%.%%%%%%%%%%%%%%%~..%%%%%%%%%%.%%%%%%%%%%.%.%%.%%%%%%%%%%%%,%%%%%%%%...%.%%%%%%%%%%%%%%%%%%.%%%%,%%%.%%%%%%%%%%%%%%%%%%%.%..%%%.%%%,,,,,,-~~~~~~~~~~%%%.%%%%.%%..,~~~~~~~~~~~~,,,%%%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%..%%%%%%%%%%.%%%%,....%%.%%%.%%%%%%%%.%.%.%%%%,.%%...%%%..%%%.%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.,,%%%%%%%%.%%%%%.%%%%%%%%%%%%%%%%.%%%*****%%%%,,,,%%%%%,%%.%%%%%%%%~~~~~~~~~,.%%%%%%%%%%%....%%.%%%%%%%%%%%%%%%%.%%%%%%.%.....%..................-------------~~~~~~~~~~~~~~~~~~~~~-~~~~~~.....,,---,,,
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,--------,------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%.%%%..%%..%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%%%%.%.%%%%%%%%%%.%%%%%%%.%%%%%%%%%%.%%%%%%%.%%.%%.%.%%%%%%%%%%.%.%%%.%%%%%.%%%%%%%%%%%%.%%%%.%....%%%%.%,,,,,,,,~~~~~~~~~~%%%%%%.%%%%%%.~~~~~~~~~~~~,,.%%%%%%.%.%..%.%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%%%%%%.%%%%%%%%%%%%%%%%%,%..%.%%.%%%%%%..%%%%%%%..%%%%%%%%.%%%%...%%%%.,%%%%%.%%.%%%%%%%..%.%%%%%%%%%%%%%,,%%%%%....,%%%%%%%%%..%%%%%%%%%.%.******.%%..,.,,%%%.,%.%%%%%%%%%%~~~~~~~~~%.%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%.....%%.%%.....%%....%%%......%--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..-----,,,
---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,ii,,,,,,,,,,,,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%%%%%%%.%%%%.%.%.%.,,.%%%%%%%%%%%%.%%~%%%%%~~%%%%%%%%%%.%%%%%%%%%%%%%%..%%%%%%%.%%%%%%%%%%%%%%%%%%%..,,%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%.%,.%%.%%.%%%%%%,,,,,,,,~~~~~~~~~~.%%%%%.,.%.%%%~~~~~~~~~~~~,,,%%%%%.%%%.%%%%%.%%%%%%%%%.%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%..%,...%.%.%%%%%.%.%%%%%.%%%%.%%%%%%%.%.%..%%%....,,%%%%%.%%.%%%%%%%%%....%.%%%%%%%%%%..%%%%%%%%%.%%%%%.%%.%%%%%%%%%%%%******.%.%%%%%.....%%%%%%%%%%%%%~~~~~~~~~%%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%%.%..%%%%.%%%%.....%%%%%%.%%.%.....%---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,
-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,----,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%.%%%%%,,,,..%%%%%%%%%%%%%.~~..~~~%%%%%%%%%%%...%%%%%%%%%%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%,,,.%%%%%%%%%%%%%.%%.%%%%%%%%.%%%%%%%.%%%.,.%%%%%%%%%%%%%.,,,,,,-~~~~~~~~~..%%%%.,,%%%%%.~~~~~~~~~~~,,,%%%..%%%.%%.%...%%%..%%%%%%%%%%%%%%%%...,%%%%%%%%%.%.%%%%%%%%%%%%%%.%%%%%%,%%%%%..,%%%%%%.%%%%%%%%%%%%%..%%%%%%%%%%,%%%%%%%%%%%%%%%%%%,,..%.%%.%%%%.%%,.%%%%%%%%..%%%%%%.%%.%%%%%%%%%.**..%.%%%%.%..%%%%.%%%.%%%%%%%%%%~~~~~~~,%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%.%.%..%.%.%.%%%%%%%%%.%%%,.%%.%.%%%%%----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,~
------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,----,,------~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%.%%%%%%%%%.%.%.%%%%%%%%%%%%%~~~~~~~~~,%%%%%%%.%%%%%%%,,%%%%%,%....%.%%%%%%%%%%%%%%%%%%%%%%%%%%,,%%.%%.%.%%%%%%.%%%%,%%%%%.%%.%%%%%%%.%%..%.%%%%%%%%%%%%%,,,,,--~~~~~~~~~.%%%.%.,.%.%.%.~~~~~~~~~~~,,,%%%.%%%%%%%%%%...%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%..%%.%%%%%%%%...,,,,.%%%%%...%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%.%%%%%%%%%%..%.%%%%%%%.,,,%%.%%%%.,,%%%%%.%%%%%%%%%%%%%***%%%%%%%%%%%%%%%%..%%%%%%%%%%%%~%~~~~~,,%%%%%%%%%%.%%.%.%%%%%%%%%%%%%%%%%%.%%.%%%%%.%%%%%%%%%%%%%.%%.%%%.%%%------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~
-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,---,,,--------~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%.%%%%%%%%%,%%%%%.%%.%%%%%%%%%%%%%%%%~~~~~,%%%%%%%%%..%%%%%,,,%.%%%%%%%%%%%%%%%%%%%.%.%.%%%%%%%%%%%%,.%%%%%.%,,%%%.%%%%%%%%%%%%%%.%.%%%%.%%%.%%.%%%%%%%%%%%%%%,,,,,,---~~~~~~,.%..%.,,,,%%%.%%~~~~~~~~~~~,,,%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%%%%%%,%%%%%%%%%%%%%,,%%%%%%%%%%.%%%%%%%%%%%%,,,,,%%%%.%.%%%%%%%.%..%%%%%%%%%%%%%%,%%%%%%%%%.%%%%%%%%%%%,%%%%%%%%%%,,,,%.%%%.%.,%%%%.%%%%%%%%%%%%%,*%%.%%%%%%%%.%%%%%%%%.%%.%%%%%%%%%~~~~~,,%%%%%%%%%%%.,,..%.%%%%%%%.%%%%%%%%%%%..%.%...%%%%%%%%.%%%%%%.%%%%%..--,--,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,---,,----------~~~~~~~~~~~~~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%..,,.%%%%.%%..%%%%%.%%%%%%%%%.%%%%.%%%%%%.%,.%.%.%..%%..,%%%%%%%%%%%%%%%%%.%.%%%%%%.%%%.%%.%,..%%%.%%%%%.,,.%%.%.%%%.%%%%..%%%%%%.....%%%%%%%%%%%%%%%%.,,.,,------,,,,%%.%%.,,,%..%%%%,~~~~~~~~,,,,,%%%%%%%%%%%%%..%.%.%%%%%%%.%%%%%%.%.%%%.%%%%%%%%%%%%%%,%%%%%.%%.%%.%%%.%%%%%%%%,,,,.%.%%%.%%%%%%%%.%%..%%%%%%%.%%%%.%%.%%%%%%%%%%%%%%.%%%%%%%%%%%%%%,%%%%%%%%%.%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%.%%%%%%%%%..%%%%%%%%%%,,~~,,,%%%%%%%%%%%%%%%%.,.%%%%%%%%%%%.%%.%%%%%%%..%%%%%%%%%%.%%%%%%%%%%%...,,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,------------~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~,~~~~~~~~~~~~~~~~~%%~~%~%%%%%%%%,,,%%%%..%%%%%%%%%.%%%%%%%%%%%%%...%%%%%%%,%%%%.%%%.%%%.%%%%%%.%%%.%%%%.%%%%%%%%.%%%%%.%%%...%.%.%.%%%%.%%%%%%%%%%%%%.%%,i%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%,,,,-%%%.,,,%.%%%.,%%.%%%%%%%,,,,~~~,,,,,%%%%%%%%%%%%%%.%%%%.%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%%%%%%.%%%.%.%%%%%%%%%%%%,,%%.%%%%..%%%%%.%%%%%.%.%%%%%.%.%%%.,,%%%%%%%%.%%.%%%%%%,%%%%%%%%%%.%%%%.%%..,%%%%.....%.%.%%%%%%%%%%%%%%%%%%%%,,.%%%%%%%%.%%%%%%.%%%%,,,~,,,%%%%%%%%%%%%%%.%.,%%%..%%%%.%%%.%%.%%.%%....%%%%%%%%%.%%%%%%.%.%%%.,,,,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,*,,,,,,,,,,,,,,,,,,,,,----------------~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~,,,~~~~~~~~~~~~~~~%%%%%%%%%%%%%%,~~~%%%..%.%%.%%%.%.%%%%%%%%..%%%%%%.%%%%%%%%.%%%%%.%%%%%%%%%%%.%%%%%%%..%%%%.%%%..%%%%%%%.%.%%%.%.%%%%%%%.%.%.%.%..%%%.,,%%%%%%%%%%%%%%%%%%%%.%%%%%.%.%%%.,,.%%%%%,,..%%%%.,%%%%%%%%%%%,,,,%%%%,..%%%%.%%%%%%%%%%.%.%.%%%.%.%%%%%%%%.%%%%%%%..,%%%%%%%%%%%%%%%%%.%%%%,%%%%%%%%%%%%%,%%%%.%.%.%%%%%.,,.,...%%%%.%%%%%%.,,,%%%.%%%%%..%%%%%%%,.%%%%%%%%%%%%%%%.%%%.%%%.%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%.,%%%%,%%%%%%%%%%%%%%.%%%%%%,%%%%%%%%%%..%%%.,.%%%%...%.%.%%%%%..%%%%.%%%%%%%%%%%.%..%%%%%%%%%%...,.,,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------~~~~~~~~~~~~~,-,,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~--,,,,~~~~~~~~~~~%%%%%%%%%~%%%%%%~~~~%%%%..%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%.%%%%%%%%.%%.%%%%%%%%%%%..%%.%...%%.%%.%%.%%.%%%%%%%%.,,%%%.%%%%%.%%%,,,%%%%%.%%%..%%%%%,.,.%%%%.,...%%.%.,%%..%%%%%%.,,,,.%%%%%%%%%%%%%%%%%%%%.%.%%..%...%.%%%%%%%%%.%%%%%.,.%%%%,.%%%%%,.%..%%.%.%.%%%%%%%%%%%%.,%%%.%%%.%%%%%.,,,,,,.%.%%%%.%%%%%%...,.,,%%%%%%%%%%%%%%..%%%%%%%%%%.%%%.%%%%,%%%.%.%%%....%%%%%%%...%%%%%%%%%%..,.%.%.%%%.%%%%%%%%%%%%%%.%%%.%%%%%%%%%,%%%.%..%%%%%%%..%%%.%%%%%%%%%%%%%%%%%%%%%%%.%.%%.%,.%%%%%.%%.%%--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------~~~~~~~--,--,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,~~--,~~~~~-,,,,,....~~~~~~%%%%%%%%%%~~~%%%~~~~~~~~~~.,.,,%%%%%.%...%%%%.%..%%%%%..%%%%%%%%%%%%%%%%%%%%%...%%%%%%%%%.%.%.%%%%.%%%%%%%%..%%%..%%%..%%%%%%.%.%.%%.%%%.,,%%%%%%%%.%%.%,,,%%%...%.%..%%%.%%%%%%,%.%%%.%..%%.,%%%%%%%.%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%...%%%%,,.%%%%.%%%%,%%%%..,,,,.,%.,.%%.%%.%.%%%.%.%%%.%%%%%%%%%%,%%%%%.%%%%%,.,.,,.,,,...%%%%%%%%%%,%%.%%,%%%..%%%%.%,..%..%%%%%%%%%.%%%%%%%,,,,%%%%%%.%%.%%.*.%,.%%%%%%%%%%%%%%.%.%%%..%%%%%%%...%%%%.%%%%%.,%%%%%%%.%%%%.%%,,.%.%%%%%%%%%%%%%.%%%%.%%%%..%%%%%%..%%%%%%%,,%%%%%%%...%%-----.---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,~,-----~~--,,,,,%%.%%.~~~%%%%%%%%%%%%%~~~~~~~~~~~~~~~~,%%%.%%%.%.%%%.%%,,,.%%%%%%%%%%%%%%%%%%.%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%%%.%%%..%%%%,,%%%%%%,%%%%.%%,,%%%%..%%%%.%%..%%.%%%%..,%%%%%..%%%%%%%%%%%%.%.%%%%%%%%%%%%%%%.%%%%%%%%%%%..%%%.%.%%%.%%%%%%%%,,,,,.,,,,,,,%%%,%%.%.%.%...%%.%%%%%%%%%%%%%%%,%%%%%%%%%%,%%.%%%,.%%%%..%%%%.,,..%.%.%.%%%%,,%%%%%..%%%%%%.%%%%%.%.,.%%%%%,.,%.%%%.%.%%.%**,%%%..%%.%%%%%%%%.%%%%%%%%%%%%%%%%%.%.%%%%..%,.%%%%%.%..%%%%%%%.,....%%%%%%.%%%%%%..%%.%.%%%%%%.%%%%%%%%%%%%%%.%%%.%%%..%.%%%-.%%%%--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,------~--,,,,,%%%.%~~~%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~%%%%.%%%..%.%.,,,,,,%.%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%..%%%%%.%.%%%%%.%%%%%...%%%.%...%%.%%%%%.%%.i,%%.%%.,.%.%%%,,,..%%%%.%.%.,..%..%%.%%%..%%%.%%%%%%%%%%%%%%.%%%,%%%%%%%%%%%%%%.%%%%%%%%%.%%%,..%%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%..%%.%%%%%%%%%%%%.%%%%%%%%%.%.%.%%%%.%.%.%%%%%,,,,.%%%%..%%%%.,.%%%%.%%%%%%%%%%..%%%%.%%%%%%%%%%%%%%%%%%%%...%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%..%.%,%%.%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,.%%%.%%%%%%%%.%%%%.,%%.%%%..%.%.%.%%%%%%%%%----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,------------~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,i,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~.%%%%%%%.%%%..,,,,%%.%%%%%%%%%.%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%..%%%%%%%%%%.,%..%..%%..%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%.%%%..,,%%%%%.%....,.,,.%%%%%.%%%.%%%.%%%%%%%%%%%%.%%%..%%%.%%%%%%%%%.%%.%%%%%.%%%...,%%%%%%%%%%%,%.%%,,,,,,,,,,,,,%%%%%%.%%%.%.%%%%.%%%%%%%.%.%%%%%%.%%.%..%%%.%%%%%%.%%%%%.%%%%%,,,,.%.%.%,%%%%.,.%%%%.%%%%..%.%%.%%%%..%%%%%%%%%%%%%..%%.%%.%.%%%%%.%.%%%%%%%,%%%..%.%%%%%%%.%%.%%%%%%%%%.%%%%.%.%%%%%%%%%%%%%%%%%.%%%%%%%%%%..%%%%%%....%%%%%%%%.%%%%%..%%%%%%%%%.%%%.%%%%%%%%%%-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,---------------~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,i,ii,,,,,,,,,,---------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,%.%%.%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~%%%%%%%%%.%.%.,,,%%%%%%%%%%%%%.%%%%%%%%.%%.%%%%%%%%.%%%%%%%%%%%%.%.%%%%%%%%%,,%%%%%%%%..%.%%%%%..%..%%%%%.%%%%%%%%%%%%%.%.%%.%%%%%%..%%%.%%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%.,%%%%%%%.%%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%...%.%%,%%..%%%%%.%%%%%%%%%%%%%%%.%%%,,.%.%.%%.%.%%..%%%%.%,%%.%%.%.,,%%%,%%%%%%%.%%%%%.%.%.%.%.%.%%%%%%%%%%%%.%%.%.%%%%%%%%%%%%%%.%%%%,.%%.%,%%.%%%%%%%%%%%%%%%%.%%%..%.%.%.%%%%%%%%%%%%.%%%.%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%%%%%.%.%%%.%%%%%.%%%%%%%%%%%%%%%-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,------------------~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%%.%%.%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~%%%%%%%%.%%%..,,,.%%%.%%%%%%%%%%%%%%%%%%%...%%%%%%%.%%%%%%%%%%%%%%%%.%%%%%%%%.%%%%%%%%%%.%..%%%....%..%%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%...%%%%%%%%.%%..%%%%%..%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%.,.%.%.%.%%.%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%.%%%%....%%%.%%%%%%.%%%%%%%%%.%%%%%.%.%.,.%%%%.%%%%%....%%%%%%%%%....,,,%%%.%%%%%%%%%%.%.%%%%.%%.%.%%%%%%%%%%%%,,,,,%.%%%%%%%..%%%%%%.%%%,,,.,,,...%%%%.%%%%%%%%%%%..%..%...%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%.%%%%%%%%%%%%%%.%%%%%%.%%%%%%-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,--------------------~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~--,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%.%%%%%~~~~~~~~~~~~~~~~~~~~,%%%.%.%..,%%%%%%%%%%%%%%%%.%%%%%%%%%.%%%.%.%%..%%%%%%%%%%%%%%.%%%%%%%%%%.%%.%%%%...%%%%,,,..%%%%%,%%%%%%%%%%%%%%%.%%%.%%%%%%%.%%%%%%%%.%%%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%,,,.%%%.%%%%.%%%%%%%%%%%%%,,,,,,,,,,*,%%%%%%.%.%%.%%%%%%%%%%.%%%%%%%%%%.%%%%%%%%%,,,%..%..%..,%.%%%%%%%%,.%%%%.,,%%%%%%%%%%.%%%.%%%%%%%%.,.,.%%%%%%%%%%%%,,.%,%%%%%%%%%%%.%%%%%%%..,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..,%%%%%.%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%....%%%%%%.,%%%%%%%%%%%%%-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,------------*-*--~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,iii,i,,,,,,,,,,,,,,,,,-----------------------,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~-,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%.....%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~,%%%%.%%%%.%%%%%.%%%%%%%%%%%%%%%%%.~~.%%%%..%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%..%.%%%...%.%.,,,,%.%%%,,%%%%.%%%%%%%%%%%.%%%%%%%%%%%%%..%%%.%%%.%%%%%%%%%%%.%%%.%%%%%%%%%%%.%,..%%%%%%%%%%%%%.%%%.%.,,,%%%%%.%%.%%%%%%%%%%%%%%,,,,,,,,,**,%%%%%%%%%....%%%%%%%%%%%%%%%%%%.%%%%%.%.%.%.,,%%%.%%%%,,%.%%%%%.%.,%%%.%%%%%.%%..%%.%%%%.%.%%%%.%%%,,,%%%%%,%%%%%%%,,.%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%..%%%%%%%%%%%%%%%,.%%.%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%.,.%%%.,%%%%%%%%%%%%%%---------,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ----~-----------
,,,,------------*---,--~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,---------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%%.%%.%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~.%%%...%%%%%%%%%%..%%%%%%%%%%..%%%.~~~~..%.%..%.%%.%%%%%%%%%%%%%%%.%%%%%.%%%.%%%%%%.%%%%%%%,,.%%%%..%.%%%%..%%%%%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%%%%%..%%%%%%..%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%.%%%%.%%%%%%%%%,,,,,,,,,**%%%%%.%.%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%.%%%%..%,...%%%..,,,%%%%..%%.%%%%%%%%%%.%%.%..%.%%%..%%..%%%.,,,%%%%%%%%%%%%%,..%.%%%%%%%%%%%%%%.%%%%.%.%%,.,.,,.,,%%.%%%%%%%%%%%%,,..%..%%%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%.%.%.,%%%%%.%%%%%%%%%%%%%%------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ----------------
,,,,------------*----*----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%.%.%.%..%--%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~%%%%..%.%%%%%%%%%%%%..%%%%%%%%.%%..~~~%%%%%.%%%.%,,%%%%%%%%%%%%.%%.%%..%.%%%%.%%%%%%%.%%%%%.%%%.%.,.%%%%%.%%%.%%%%%%%%%%%%.%%%%.%.%...%%%%.%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%,%%%%%.%%%..%%%%%%%%.%%%%%%%%%%%.%.%%%%%%%%.%%%%,,,,,,,,,**%%%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%.%%%%%%%.%...,,%%.%.%.%%%%%%.%%%%%%%%%%%%%%%%%.%%....%%%.%,%.%%%%%...%.%%,,%%%%%%%%%%%%%%%%...%%.%%%%%%%%%.,,,,,.%%%%%%%%.%%%%,%%%%%%....%%%.%%%%%.,%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%.%,,%..%.%%%%%%%%%%%%%%------------~~~~--..---~~~~~~~~~~~~~~~~~ ----------------
,,,--------------*--------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,-----,--------------,,i,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,%%%.%%%....----%%%%.~~~~~~~~~~~~~~~~~~~~~~~%.%.%%%%%%%%%%.%%.%.%%%.%%%%%.%.%%%~~~~..~..%%%%.%%%%%%%.%%..%%%.%%%%%%%.%%%%%%%%..%%%%%%%%..%..%%.%%%%%%%.%%%%%%%%%%%%%%%%%.%%%.%%%,,%%%.%%%%%%%%%%%%%%%%%%.%%%%%%%%%%..%%%%%...%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%%.%%%%.%%,,,,,,,,,,*%%%%%,,%%.%%%%%%%%%%%.%%%%%.%.%%%%%.%%%.%%%%.%%%%%%%.%..,%.%%%%%.%%.%%.%%.%%%%%%%%%..%....%.%,%%%%%%.,%%%%%%%%%..%,,,,%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%,,,,,%%%%%%%%%%%%.%%%%%%%%%%.%.%%%%%%%.%.%.%%%%%%.%%%%%%%%%%%%%%%,.%%%%%%.%%%%%%%.%.%.%.,,...%%%%%%%%%%.%%%%%------------~~-------------~~~~~~~~~~~~~ ----------------
,,------------------------,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,---,,,,-------------,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%.%%%%----~%~~~~~~~~~~~~~~~~~~~~~~~~~~.%%.%%%%%%%%,,,..%%%..%%%%..%%%%%%%,,~~~~~,%%%%%.%%,%%%%%%.%%%%%%%%%%%.%%%...%%%%%%%.%%%%%%%%...%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%,.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%..%%%.%%%%%.%%%%%%%%%%%%%%%%%%%.%.%%%.%.%,,,,,,,,,,,,%%%,,,%%%.,,%%%%%%%%%%%%.%%%%%%%%%%%%%.%%,%%%%%%%%%.,.,,%%%%%%%.%%,%.%..%%%%%%%.%.%%%..%.%....%%%%%.,%%%%%%.%%%%%.%%%%%%%%%%%%.%%%%%%%.%..%%%%..%%%%%,,,,.%%%%%.%%%%%%%.%%%%%.%%%%%%%%.%%....%.%%%%.%.%%%%%%%%%%%%%%%,%%%%%%%%%%%%.%%%%.%.%%...%.%.%.%%%%%%%.%.%%%%%---------------------------~~~~~~~~~~~ ----------------
-------------------------,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,i,,,,,,,,,,,,,,,-,,,,-------------,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%.%%%%%.%.---~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%%%%%,,.%.%.%%%%%%%%%%%%%%%%,,,,~~%....%%%.,...%%%%%%%%%%%%%%%%%%..%.%.,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%,%%%%.%%%,%%%%%%%%%.,%%%%%%%%%%.%.%.%%%%%.%%%%...,,,,.,.,,,,,.,.,.%%..%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%...%.%%%%,,%%.%,,%%%%%.%%%%.%%%.%%%%%%%%%%%%%,%%%%,..%%%%.%%%%%%%%%%%%%%%%%%%%%%.%.%%%..%%%%%.,,%%%%%%%%%%.%%%.%%.%%%%%%%%%%%....%%%%%.%%%%%%,%%%%%%%%%%%.%%%%%%%%%%%.%%%%%%%.%%.%%%.%%.%%%...%%%%%%%%%%%%%-.---------------------------~~~~~~~~~~ ----------------
-------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%%%%.----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%%%%%.,,%.%%.%.%%%%%%%%%%%.%,,,~~,%%%%%%%%%,%%%%%%%%%%%%.%%%%%,,.%.%%%.,,%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%,%%%.%%.,.%.%%%%%.%%%.%%%%%,%%%%%%%%%%%%.%%%%.%%%.%%%%%%..%.%%.%.,%%.%%%,,%%%%.%%.%%%%%%%%%%%.%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%%,%%..%%%%%,%%%%,,,,%%%..%%%%%%%%.%%%.%%%%%%.%%,,.,,%%.%%..%%%.%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%,,%%%%.%%%%%.%%%.%.%%%.%%%%%%%%.%%..%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%.%.%%,%.%%%%%%%%.%%%.%.%%%%%%%%%%%%%-------------------------------~~~~~~~~~ ----------------
--------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------,,,,,,,,,,,,,,,,,,,,,,i,,,i,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%.%.%----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%.%,.,%%%%%%%%%%%.%%%%%,,,%~~%%%%%%%.%%%%%%%%%%%%%%%%%%%%,,,..%%%%%%%%%%%.%%%%%%.%%%%%%%%%%%%%%%%%%%%.,%%%%%%%%%.%%%%%%%%%%%%%%%%%%%.%%%%..%%%%%%%%%%%%%%%%,,..%%%%%.%%%%%%%%.%%%%%%%%%%%%.,.%.%%%%%%.%%%.%.%%.%%%%%.%%%%.%,,%%%.%%%%.%%.%..%%%%%%%%%%%%%%%%.%%%,%%.%,,,,,.%%%%%%%%%%%%%%%%%%%%%,,,,,,%%%%%%%%.%%.%%%.%%%%%%.%.,,,..%%..%%%.%%%%%%%%%%%%%%%%%%.%.%%%%..%%%.%%%.,%%%%%...%%%%%%%%.,..%%%%%%%%.%.%%%%%.%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%,,%%%%%%%%%%%%.%%.%%%%.%%%%%.%%%--------------------.-----------~~~~~~~ ----------------
,-------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,.,,.,,,,,,,,,,,,,,,,,,,,,%%%%%%%.---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%.%,%%%.%%%%%%%%%%%%%%,,%%~,%.%%%%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%.%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%...%%%..%%%%%%%.%.%%%%%%%%..%%%%%%%%%%.%.%,%%%%%%%%%%%%%.%%,,,.%.%%%.,%%%.%.%.%%%%%%%%.%%%,%.%%%%%%%%%.....%%%..%%%%..%%%%.,,%%%%.%%%.,%%...%%%%%%.%%%%%%%%.%.%%,%%%%,,,,%%%%%%%%%%%%,,,,%%%%%%%%%i,.%%%%%%%%%%%.%.%%,,%%%%%.%%,,%%%.%%%%%%%%%%%.%%%.%%%%%%%%%%.%%.%%%%%%%%%....%%%%..%%..%%%%%%..%%%%%%%%,,..%.%.%.%%%%%%%%%%%%%%%%%%%%%.%.,,%%%%%%%%%%%%,,,....%%%%%%......%%%%%%%%%%%%.----------------------------------~~~~~~ ----------------
,,-----------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,i,,--~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%,....-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%%%%%%%%%%,.%..%%%%%%%%%.%%.%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%%%%%%%%.%.%%%%%%%%.%%.%%.%%%%%.%%%%%%%%%%%%.%%%.%%%%%..%%%%%%%%%.%%%,%%%%%%%%%%%%%%%%%,,,,,,...,,,,.%%%%%.%%%%%%%%%%%.,,,,,,,,,,,,,,,%.%..%.%.%.%.%%%%,.%%%%%%%%..%%%%.%%..%%%%%%%%%%%%%%,,,.,.,,,,%%%%%,,.%%%%,,.,,%%%%%%%%%i%%%%%%%.%%.,,,%%%%,.%%.%.%%%%%%%%%%%%%%%%%%..%%%%%%%%%.%%%.%%....%.%%%%..%.%%%%..%%%.%.%%%%%%.%%%%%%.%..%%%%..%.%%.%%%%%%%%%%%%%%%%%.%%.,,,.--.%%%%%%%%,,%.%%%%%%%%%.%.%%%,,,,.,%%%,%%-----------------------------------~~~~~~ ----------------
,,---------------------**,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,i,,,---~~~~~~~~~~~,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%.%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%%%%%%.%,%%.%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%%.%.%.%%%%%%%%%%%%%%%%%%.%.%%%%%.,.%.%%%.%.%%%%%%%%%%%.%%%.%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%.%%%%%%%%%.%,,,,,,,,,,,,,,%%%.%.%%.%..%%.%%%,.%%%..%%.%.%.%.%%%%%.%%%%%%%%%%%,.%%%%%%,,,,%%%,,,,,%%%,,,,,,%%%,,,%%%%..%%%%%%.,,%.%%.%%.,.%%%%%%%%%%%%%%%%%%%%%%%%%.,.%%%%%%%%%%%%.%.%.%%%%%...%.%%%%.%%%%%..%..%%%%%.%...%%%.%.%%%%.%%%%%%%%%%%%%%%%.%%%%.%,,,,,,----------.%.%.%.%%%.%%%.%.%%.,,,,,.%%..------------------------------------~~~~~~ ----------------
,----------------------**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%..%.%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%%%%%..%,,%%.%%%%%%%%%%%.%.,%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%,.%.%.%%%%%%%%%%%.%%%%%%%%%..%%%.%%,,,%%%%..%%%%%%%%%%%%%.%.%%%%%%%%.,%%%%%%,,,,,,,,,,,,,,,,,,,%%%%.%.%%%%.%%...%,,,,,,,,,,,~%%%%%%...%...,....,%%,,%%%.%%%%%.%%...%.%%%%%%%%%%%%%,%%%%%%%%%%%%%%%,,,,,,,,,,,,.%%..,,,%%.%%%%%%%%.,,%%%%%%%.,%%%.%%%%%%%%%.%%%%%%%%.%%..%%%%%.%%..%%%%%.%.%,,,.%..%%%%.%%.%%%.%.%.%%%%%%%%%.%...%%%%%.%%%%%%%%%%%.%..%%.%%%%%%%%%,,,,,----------,%%%%%..,,..%%%..%%%,.,..%%..%------------------------------------~~~~~~ ----------------
----------------------***,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i--~~~~~~~~~~~~,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,%%..%.%%%..%%%.-~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%%%%%%%%.%%..%.%%%..%%%%%%%,%%.%.%%..%%%%%%%%%%%%.%%%%.%%%%,%%%%%%%%%%%%%%%%%%.,%%%%%.,..%%%%%%.%%%%%%%%~~.%.%%%%..,...%%..%%%%%%%.%%%%%%%%.%%%%%%%%%%%%%%%.,,,,,,,,,,,,,,,,,,,%%%%%%%.%.%.%%%%%,,,,,,-i,,~~%%%%%%%,%.%..%%%.,,%.%,,%%%%%%%%%,..%%%%%.%%%%%%%.%%%,%%%%%.%%%%%.%%%,,,,,,,,,,,,.%%,,.,,,.%.%%.%%%%,,,%%%%%%,,.%%%%%.%%,,%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.,,%%%%.%.%..%%.%.%%.%,%%%%%%%%%%%%%.%%%%%..%%,.%%%%%%%%%%%%.%%%%%%%%%,,,,,----------,%.%.%.,,,.%%%%.%%.%.%%..%%%%%------------------------------------~~~~~~ ----------------
---------------------****,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,--~~~~~~~~~~~~~,,,,,,,,,,,,-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%.%%%%%.%%%.%,~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%%.%%%%%%%%.%%%%%%%%.%%%.%%.%.%%..%%%%%%%%%%%%%%%.%%%%%.%%%,%%%%%%%%%%%%%%%%%%.,.%.%.%.%%%%%%%%%%%%%~~~~~~~~%.%...%%,%%%%%%%%%.%.%%%%%%%%%.%%%%.%%.%%%%%%%,,,,.,,,,,,,,,,,,,,,,,.%.%%%.%..%.%%.%,,,,----~~~%%%%%%%%%%...%.%%%,,%%%%,%%%%%%%%%...%.%.%%%%%%%%%%.%%%%%%%.%%%%%%%%%%,,,,,,,,,,,,%%%.%%,,,,%%%%%%%%%.,,%%%%.....%.%%%.%..%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%..%%.%.,,%%%.%.%.%%.%%%%..,..%%%%%%%.%.%%%.%%.%.%%..,%%%%%%%%%%%%%%%%%%%%%%%%,,,-----------.%%%%%%%%,.%%....%%%..%%%.%%%%-----------------------------------~~~~~~~ ----------------
--------------------,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~,,,,,,,,,,,-~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..%%%%.%%%.%.%%,,~~~~~~~~~~~~~~~~~~~~~~~~~%%..%%%%%%%%%%%%%%%%%.%%..%%%..%.%%%..,%%%%.%.%%%%%%%%%%%%%.%%%.%%%%.%%%%%%%%%%%%%%%%%%.,.%%.%%.%%%%%%%%%%%%~~~~~~~~~....%.%%%,,,..%%%.%.%%.%%%%%%%%%%%%%.%.%%%%%.,,.%%%%%%,,,,,,,,,,..,,.%%%%%.%%.%...%%.,~~~~~~~~~%%%%%%%%%%..%%%%%%,%%%%%%,%%%%%%%%%%..%.%..%%%%%%%%%%%,,%%.%%%%%%%%%%%,,,,,,~~,,,,%%%%%%%,,,%%%.%.%%%%,,.%%%.%...%%.%%%%%.%..%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%.,,.%%%%.%,,%%%..%.%%.%%..%%%%..%%%%.%..%%%%%%%%%,%%%%%%%%%%%.%%%%%%%%%,,,,-----------%.....%%%....%.%%%%%.%%%%.%%%%----------------------------------~~~~~~~~ ----------------
--------------------*****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~,,,,,,,,,,,-~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..%%%%.%%%%....,,~~~~~~~~~~~~~~~~~~~~~~~~~%%%.%%%%%%%.%%%%%%%%%%.%%%.%%%%%..%.%%%%%%%..%%%%%%%%%%%%%%%.%.,%%%%,.%%%%%%%%%%%%%%%%%.,%..%.%%..%%%%.%%%%~~~~~~~~~~~~.%.%.%%%%,,,%%%%%,..,%%%%%%%%%%%%%,%%%%%%%%,.%%%%%%%%,,,,,,,,,,.,%.%.%%%.%.%.%%%%%.~~~~~~~~~~%%%%%%%%%%%%%%.%%%%%%%%%%,,,,%.%%%.%...%.%%%%%%%%%%%%%.,%%%.%%%%%%%.%%,,,,,,~~~~~,,%%.%%%%,%%%.%%.%%.%,%%%%..%%%%%...%%%%%%%%.%%%%%%%.%.%%%%%%%%%.%%%%%%%%....%%,%%.%%%%,,%%.%...%.%.%.%%%%%%%..%..%,%%%%.%%.%.%%%%%%%%%%.%%%%%%%%%%%,,,----------.%.%.%.%%%%.%%%%%.%%%..%.%%%%%%.---------------------------------~~~~~~~~~ ----------------
-----------------,,,*****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~,,,,,,,,,,--~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%.%%%%%%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~%%.%%%%%%%%%%%%%%%%%%%%.%.%%%%%%.%%%%.%%%%%.%%%%%%%%%%%%%%%%%%%%%,,%,%%%%.%%%%%%%%%%%%%,,,%%%%%%...%%.%%~~~~~~~~~~~~~~~..%%%%.%%%....%%,,,,.,.%.%%%%%%%%%%%%%...%%.%%%%%%%%%,,,,,,,,,,,,%.%%.%...%%%%.%%~~~~~~~~~~~%%%%%%%%%%%%%%%%%.%%%%%..,,,,.%%%%%%%%%%.%.%%%%%%%%%%%%%.%%%%%.%%%.%%%%,,,~~~~~~~~,.%%%%%%%.%%%.%,.%%%.%%%.%,.%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%,,%%%%%%%%%%%..%%%%%%%%%%%%%,%%%%%.%%%%%.%%%%.%%%%%%%%%%%%%%%--------------%%%%%,%%.%%%.%.%.%%%..%%%%%%%-----------------------------,---~~~~~~~~~~~
----------------,,,,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~,,,,,,,,,,,,~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%..%%,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%.%%%%%%.%%%%%%%%%%%%,,%.%%%%%%,,.%...%%.%%%%%%%%%%%%%%%.%%%%%%,%.%%%..%%%%..%%%%%%%.,,%%%%%..%%%%%%%~~~~~~~~~~~~~~~~%%%%%.%%.%%%.%,,,,.%%%.,,%%%.%%...%.%.%..%%%%%%%%.%%,,,,,,,,,,,,%%%...%,%%%.%.%%~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%.%,,,%%%%%%.%..%%%%%%%%%.%%%%%%%%%%%%%%%%..%%,,,,,~~~~~~~,%%%%%%%...%%%%%.,,.,%%%%..%.%.%...,%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%.,.%%%%%%%%%%%%%%,,...%%%%%%%.%,,%%.%.%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%--------------.%.%%%.%%%.%%%.%,%.%.%---,,,.----------------------------------~~~~~~~~~~~
----------------,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~,,,,,,,,,,,,,,,~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%...%%%%.%,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%.%,....%%.%%.%%%%..%%%%%%%%%%%%%%%,%%%%%%.%%%%%.%%%%%.,,,,,.%%%%%%%%%%.%~~~~~~~~~~~~~~~..%.%%.%%%%.%%%.,,.%.%.%.,%%%%%%%%%.%.%.%%%.%%%%%%.%,,,,,,,,,,,,,%%.%%%%.%%%%%.%%~~~~~~~~~~%%%%%%%%%%%%%%.%%%.%%%%%%%.%.%%.%%%%%%,,%.%.%.%%%%%%%%%%%%%%%%%%%%%%%.%.,,,,~~~~~~~%%%%.%%%,%%%%%%%.,,,%%%%.%....%%.,,%.%%%%%%%%%%%%%%%%%%%.%%%%%%%%.%%%%%%%%.%%%%%.%%%%%%%%%%%%.%%%%%%.,,,,.%%%.%%....,,%%%%.%%%%%%%%%%.%%%%%%%.%%%%%%--------------%%%%%.%,,.%%%%%,,%%.%.---------------------------------------~~~~~~~~~~~~
----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~,,,,,,,,,,,,,,,~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%.%%%%,--~~~~~~~~~~~~~~~~~~~~~~~~~~~-%%%%%.%%%%%%%%%%%%%%%%..,%%%%%%%,,%%%.%.%..%%%%%%%%%%%%%%%.%%.%.,%%%%%%%.%%%%%.%%%...%%%,.%%%%%%%%%%%~~~~~~~~~~~~~~~~~-%%%.%%%..%%%..,,.%%%%%.,%%%.%%%%%.%%%%%..%%%%%%.%,,,,,,,,,,,,.%%.%%%%%%.....%%%~~~~~~~~~~%%%%%.%%%%%%%%%%%%%.%%.%%%.%%%%.%%%%%%%.%.%%%%%%%%%%.%%%%%%,%%.%.%%%%%%.,,,,,~~~~~~%%%%%.%%%%%%%%%.%.,..%%%%%%-.-..-,.%%%.%%%%%%%%%%%%%.%%%%%.%.%%%.%%%%%.%.%.%%%%%%%%%%%%%.%.%.%%%%.,.,,,,.%.%.%.%%%.%.%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%%-------------%%.%.%%%%%%%%%%%.....,---------------------------------------~~~~~~~~~~~~
~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%,,,%%%%%--~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%.%%%%%%%%%%.%%%%%%%%..%%%%%%%%,.%%%%..%.%%%%%%%%%%%%%.%%%%%%..%%%.%%%%%.%%%%..%.%%..%%%,%%%%%.%%%%~~~~~~~~~~~~~~~~~~-%%%,,%%,%%%%%%%,.%%%.%.,%%%..%%%..%.%.%%%%%%%%%%%,,,,,,,,,,,,,%.%.%,%%%%%.-~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%..%%.%,%%%%%.%%%%%%.%%%.%%%%.%%%%..%%%%%%%%%%%,,,,,~~~~~,%%%%%%.%%%%%%%%%%%%%.....%%-------,.%%%%%%%%%%%%.%%%.,,,%%%%%%%%%.%%.%%%%%.%%%%%%%%%%.%%%%%%.%%%%%%,,,,,.%%%%..%.%%...%%%%%%%.%.%%%.%%%%%%%%%.%%%%%%%-------------%%%%%%%%%%%%%%%%%%%%%,--------------------------------------~~~~~~~~~~~~~
~~~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%%%,,%.%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,%%%%.%%%%%%.%%%%%%..%.%..%%%%%.,.%.%.%.%%%%%%%%%%%%%%%%%%%%.%%%.%%..%.%%%.%%%%.%.%.%%%.%,%%%%%%%%%%%~~~~~~~~~~~~~~~~-.%%%%,,.%%%%%%%%%%.%%.%%%%%%.%.%%...%%%.%,%%%%%%%%,,,,,,,,,,,%%..%%%.%%%%%--~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%...%%...%%%%%%%%%.%%%%.%%%.%%.%%%%.%%%%%%%%%%,,,,,,~~,.,,%%%%,,%%%%%%%..%.%.%%%.%%%-------%.%%%%%%%%%%%.%%%%.,%%%%%...%.%%%%.%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%,,,,.%.%%%.%%%%..%%%%%%%%%%%%%.%%%%%%%.%..%.%%%%%-------------%%%%%%%%%%%%.%%%%%%.%,---------------------------------------~~~~~~~~~~~~
~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,,~,,,,,,,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,%.%.%.%%%%%%%%.,%%%%.%%%%%%%.%%.%.%%.%%%%%%%%%%%%%%%%%.%%%.%.%%,.%.%%%.%.%%%..%%%%%%,%%%%%%%%%%%.~~~~~~~~~~~~~~~--%%%,%%%%%%%%%%%%%%....%.%,%%%%%%%.%%.%%%,,%.%%%%%....,,,,,,%%%%%%%%%.%%%%%%~~~~~~~~~~~~~~~~~.%%%%%%%%%%%%%%%%%%%%%%%%....,,%.%%%%%%%%%%%.%...%,%%.%%%..%%%%%%%.%%..,,,,,,%%%%.%%%%,%%%%%%%%.%%%%..%%.%~~~~~--%%%%%%%%%%%%%%%.%%%..%%%%.%%%%%.%%%.%%.%%%%%%%.%%%%%%%%%%%%.%%%%%%%%%.%%%%.%%..%%..,.%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%-------------%%%%%%%%%%%%%%%%%%%%..----------------------------------------~~~~~~~~~~~
~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,,,,~~~~,,,,,,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,.%%%%.%%%%%%%%%%..%%...%%%%%%%....%%%%%%%%%%%%%%%%%%%%%.%%%%%.%%..%%%%.%%%%%%%.%%%%%,%%%%%%%%%%%.%~~~~~~~~~~~~~~----%%%%%%%%%%%%%%%%%%%%%%%%,%%%%..%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~.~%%%%%%..%%%%%%%%%%%%%%%%%%%.%.%.%%%%%%%%%.%%.%%,%%%%%%%%%%%%%%%%%%,...,,.%.%.%.,,,,,%%%%%%%%.%.%..%%%%%.~~~~~~%%%%%%%%%%%%..%.%%%.%%%%%.%%%%..%%%%..%%%%.%%%%%%%%%%%.%...,,,,.%%%%%%%.%%.%%.%..%%,.%%%%%%%%%%%%%%%%....,,%%%%%%%,,-------------%%%%%.%%%%%%%%%%%%%.%.-----------------------------------------~~~~~~~~~~
~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,~~~~,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,~~~~~~,,,,,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~---..%%%.%%%.%%.%%%%%%%%..%.%%.%%%.%%%%%.%%%%%%%%%%.%%%%%%%%%.%.%%%.%..%%%..%%%%%%%%%%%%%%%%.,%%%%%%%%.%%%%~~~~~~~~~~%%%%---...%.%%%%%%%%%%.%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%.%%%.%%%%%%%%%%%%%%%%%.%%%%%%%~~~~~~~~~~~~~~~~~~.%%%%%.%%%%%%%%%%%%%%%%%%%%%,...%%%.%%%%%%%.%%%.%%.%%%%%%%%%%%%%%%.%%%%.,.%%%.,,,,,..%%%.%%%.%%..%..%%.~~~~~~~%%%%%%%%%%..%%%%.%.%%%%%%.%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,.%%%%%%%%%....%%.%.,.,%%%%%%%%%%%%.%%%,,,,,,,%%%%,,,,-----------------,%,%%%%%%%%%%%%.%%-------------------------------------------~~~~~~~~~
~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,~~~~~~,,,,,~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~--.%.%%.%%%%%%%%%%.%%%%%%%......%%%%%%%%%..%%%%%%%%%.%%%%%%%%%.%,%%%%.,,%%%.%.%..%%%%.%..%%.%.%%%%%%%%.%,%%%%~~~~~~~~%%%%%--%%%.%.%%%%%%%%%%%%%%.%%%%%%%%.%%%%%%%%%%%%%%.%..%%%%%%.%%%%%%%.%%%%%%%%%%%%.%%~~~~~~~~~~~~~~~~~~,%%%%%%%%%%%%%%%%%%%%~%%%%.,.,%.%%%%%%%%%%%%%%.,,.%%.%%%%%%%%%%%.%%%.%,.%%%.%,,,,,,,.,,%%%%%,%%..%%.%%~~~~~~~~%%%%,%%%.%%..%.%.%%%%%%%%.%%%..%%%%%%%%%%%%%%.%%%%%%%%,,,,,,,,%%%..,....%.%%%%%,,.%.%%%%%%%%%%,.%%%,,,,,,,%%%%,,,,-------------------%%%%%%%%%%%%,-----------------------------------------------~~~~~~~~
~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,~~~~~,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~-,,,,~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%.%.%%%%%..%%.%.%%%%%%%%%..,.....%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%..,..%%%.%%%%.%%%%.%,.%%%.,.%%%%%%%%.%%%..~.~~~~~~%%%%-,%%%%%%.%%%%%%%%%%%%%%%%%.%..%%%%%%%%.%.%%%%%%%%..%%%.%.%%%%%%%%%%%%%%%%%%%%.%%~~~~~~~~~~~~~~~~~~~..%%%%%%%%.%%%%%%%%.~~~~,,,,,,,%%%%%%%%%%.%%%%%,,,,.,%%%%%%%%%%%%%%%%....%%%.,,,,.,,.,,%%%%%%%%%%%%...~~~~~~~~~~~~~,,.,,%%..%%%..%%%%%%.....%%%%%%.%.%%%%%%%%%,%.,,,,,,~~~~~~,,.%.%%...%%..%%%,%%%%.%%%%%%%,,%%%%,,,,,,,,,,-,,,,--------------------%,%%%%%%%%%------------------------------------------------.~~~~~~~
~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,~~~~,,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~---,,~~~~~~~~~~~~,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---.%%%%%.%%.%%%%%%%%%%%%%.%%%,.%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%.%%%%%.%%.%.%.%%%%.%%%%%%%%,%.%%%%%%%.%%%%.,%%%.~~-%%%%.,%%%%%%..%%%%%%%%%%.%%%%%%%%%%%%.%%%.%%%%.%.%.%.%.%%.%%%%%%%%%%%%%%%%%%%%%%%%.%%%~~~~~~~~~~~~~~~~%%%%%%.%.%%.%%%%%%%%%~~~~~~,,,,,,%%%%%%%%%%..%%.%,,,,,,,%%%%%%%%%%%.%..%%%%.%%%...%.%..%%%%.%%%%%%.%%~~~~~~~~~~~~~~~,,.%%%%%%.%%%.%%%%%%%.%.%%%%%%%.%%%%%,%%%.%%,,,,,,,~~~~~~~~~~.%%.%%%%%%%.%%,.%%%.%%%%%%%.,%%%%---,,,,,,---,,,--------------------,%%%%%%%%%%,------------------------------------------------..-----
~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~----,~~~~~~~~~~~~,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---.%.%.%%%%%%.%.%%%%%%%..%%%.,.%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%.%.%.%%%%%..%%.%.%%%%%%%.%.,%%..%,.,.%%.%,%%%%%.--..,,..%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%,,,,.%%%.%%%.%%%%...,,%%.%%%%%.%%%%%%%%%%%%%%%%%.~~~~~~~~~~~~~~~~~%%%%.%..,%%%%%%%%%%%%~~~~~~~,,,,,%%%%%%%%%%%..%%%%%%%%,,%%%%%%.,%.%%.%..%%%%%%%,,%.%%%%%%%.%%%%%%%%%%~~~~~~~~~~~~~~~~..%.%%%%%%%.%%%%.%%..%%%...%,.%%%%%,,,,,,%%%,,,,,~~~~~~~~~~..%%%.%.%%%.%%%.%%%%%%%%%%%%,,%%%.--------,---,,,--------------------,,%%%%%%%%%----,---------------------------------------------------
~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~--~~~~~~~~~~~~~i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.----,.%.%%.%.%%%%%%%%%,,,...%%..,.%%.%%%%%%%%%%%%%%%%%.%%%%%%%%%.%.%%.%%%%%.%%...%.%%%%.%%%%%.,,.%.%%.%..%%%%%.%%%%%,,%%%,..%%%%%%%%%%%%%%%%.%%....%%%%%%%%.,,,,.%%%%.,.%%%.%.,,,....%%%%%%%%%%%%%%%%%%%.%%%~~~~~~~~~~~~~~~~~%%%%%%%,,%%%%%%%%%%%%~~~~~~~,,,,,%%%%%%%%%%%%%%%%%.%%%%%%..%%%%.,,.,..%%%%%%%.%,..%%%%.%%.%%%%%%%%%%%~~~~~~~~~~~~~~%%.%%%%%%%%%.%%%%%%%%..%%%.,,...%%%%%,,,,,%%%%,,,,~~~~~~~~~~~.%.%.%%%%.%%%%%%%%%%%%...%%.,,%%%%-------------,----------------------,,-%%%%%%%----,---------------------------------------------------
~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~-~~~~~~~~~~~~~~i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%.-%%%%...,.%.%%%%%..%,,,.%%%%%i,%%%..%%%%%.%%%%%%%.%%%%%%%%%%%%%%.%%.%.%.%.%%.%..%.%%%%%%.....,%%%.%.%,.%.%.%.%.%%%%%%%%.%%%.%...%%%.%%%%%.%%.%..%%%%%%%%%.%%%.%.%%%,,,%%%%%.%..%%%%%%%%%%%%%%%%.%%%%%%%%%~~~~~~~~~~~~~~~~~~~.%%%%%%.%%%.%%%%%%%~%~~~~~~,,,,,%.%%%%%%%%%%%%%%%%.%..%%%%%%,,.,,,,,.%.%%%..%,,..%%.%%%%%%%%%%.%%%~~~~~~~~~~~~~~~~%%.%%%.%%%%%%%.%.%%%%.%.%%.%%%%%.%%%%,,,,,.%%%,,~~~~~~~~~~~~~~...%...,....%%%%..%%%.%%%%%,,,%%-----------------------------------------%-%%%---------------------------------------------------------
~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~-~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%.%%%%%.%.%%%%.%%.%%%%%%.,i%%%%,,%%%%%%%%%%%%.%%%%%%%%.%.%%%%%%%%.%,%%%.%%%%%%%...%..%%%%.%%%.%.....%%%%...%%%%.%%%%%%%%%%..%%%.,,,%%%%.%%%.,%.%.%%%%.%.%%%.,.%%%..%%%,,,.,,,%%.%%%%%%.,%%%%%%,,.%%.%%%%%%--~~~~~~~~~~~~~~~~~~~~%%%%%%,,%%.%%%%%%%~~~~~~~~,,,%%%%%%%%%%%%%,,,%%.%%..%.%%%%%,,,,,,,..%%%%%.%%.,,.%%%.%%%%%%%%%%%%%%%~~~~~~~~~~~~~~%%%%%%%%%%%.%%%%%%%%%%%%..%.%%%%%.%%,,,,,,..%%,,~~~~~~~~~~~~~~.%..%%..%..%..%%%%%%%.%%%%..,,,,-------------------------------------------%-----------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~-----~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,.,~,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%..%.%%%...%.%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%..%%%%%.%.%%%%%%.%%%%..%%%%.%.%%%.%..%%.%..%.%%%%%%%%%%%%%%.%.%%%,,,%%.%%%%.%%%%%%%%%%%%..%.%%%%%%%...%.,,,,%%%%%%%%%%.%,%%%.%,,,,,.%.%%%%,---~~~~~~~~~~~~~~~~~~%%%%%%%,,,%%%%%%%%%~~~~~~~~,,.%%.%%%%%%%%%%%,.%%%%%%%%.%.%%%.,.,,,%%.%..%%%%%.,,,.,.%%%%%%%%%%%%%%%.~~~~~~~~~~~~~~%%%%%%%%%%%%%.%%%%%%%%....%%%%%%%.%%..,,.%%.%%,~~~~~~~~~~~~~~~.%.%%%%%.%%%%.%%.%%%%.%%%%%.,,,---------------------------------------------------------------------------,----------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,.,,..,~~,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%..%%%%.%.%%%.%%%%%%%%%%.,..%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%%%%%%.%.%%%%..%%%%.%%%%.%%%%.%.%%%%.%%%%%%%%.%%%%%,,,%%%%%%%%%%%%%%%%%%..%%.%%%%%%%.%%%%,.,..%%%%%%%.%.%.,%.%%%.,,%%%%.%.%%,..-,~~~~~~~~~~~~~~~~%%%%%%%.%%%%%%%.~%~%~~~~~~~,,,%%%.%%.%%%%%%.%%,.%%%%%%%.%%.%%,,,,,.%.%%%%.%%%.,,,,,%%%%%..%%%%%%%%%%%%~~~~~~~~~~~~~%%%%%%%%%%%%%%.,.,%%%%%%%%%.%%%.%%%%%,,%%%%%%%,~~~~~~~~~~~~~~~~%%%%%...%%%%%%%%.%%%%%.%%%.%.---------------------------------------------------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%..%%.%..%%%%%%%%.%%%%%.%%%.%%%%..%%%%%%%%%.%.%%%%%%%%...%.%.,.%%%%%.%%%%%%%%%%.%%%.%%.%%%.%%.%.%%%%%.%%%%%%%%%%%%.,,%%%%%,.%%.%%%%%%%%%%%%%%%%%%%.%%%%%%%%.%...%.%%....%%.%%%.%.%%%%%.,,%%%%%%..%%.%%%%,,~~~~~~~~~~~~~,%%..%%..%%%%%.%%%%~~~~~~~~,,,,%%.,%%%%%.%%.%%%,%.%%%%%%.%%%.,,,,,%..%%%....%.%.,,,,%%%.%%%%.%%%%%%%%%%%~~~~~~~~~~%%%%%%%%%%%%%%%%%,,,%%%%,,,%%%%%.%%%%%%.%%%%%.%%-~~~~~~~~~~~~~~~~%.%.%%.%.%%%%%%%%%%%%%%.%.%%%,--------------------------------------------------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.~~~~~~~,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%,,%%%%.,%%%%....%.%...%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%...%%%%,.%.%%%%%%%%%%..%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%...,,%%%%..%..%.,%%%%%%%%%%%%%%%%.%%%%%%%.%%.%%...%.%.%.%..%%%%.%..%.%..%%%%%%..%%.%%%%%%%,,,,,,,,,,,,,,%%..%%%%%%%%%.%%%%-~~~~~~-,,,,%%%%%%%%%.%%%%%%,,,.%%%%%%%%%,,,,,,....%.%.%%.%%.,,,.%%%%%%%%%%%%%%.%%%%.~~~~~~~~~..%%%%%.%%%%%%%%%,,,,%%%%,.,%.%%.%%%%%%%,%%%%%%%%-~~~~~~~~~~~~~%.%%%.%.%.%%...%%%%%%%%%%%%.%%%.,,-------------------,-----------------------------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%,%%.....%%....%%%%..%%.%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%.%.%%%%%%,.%%%%%%%%%%%%%%%.%.,%%%%%%%.%.%..%%.%%%%%%%..%%%%%%,%.%.%%,,%%%%%%%%%%%%%%%%%%.%.%%%%.%.%...%%%%.%.%.%%%%%.%%%%%%%%%%%%%%%%.%.%%%%%%,,,,,,,,,,,,,,%.%%..%%%%%%%.%%%%-------,,,,,%%%%%%.%.%%.%%.%...,%.%..%%.%..%%%%%%.%%..%%%%%%.%.%%%%%%%%%%%.%%%%%%%%%%%~~~~~~~~%%.%%%%%.%%%%%%%.,,,,,%%..%.%..%%%%%%%%.,%%%%%%%%-~~~~~~~~~~~%%%%%%%..%%%...%%%%%%%%%%%%%%%%%.%,,,------------------------------------------------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%,.%....%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%....%%%%.%.%...%%%%%,%%%%%.%%%%%%%%%%.%%,%%%%%%%,,%.%%%.%%%%%%%%%%.%%%%,.%%%%%%.%.%.%%%%%%%%%%%%%..%%%%%%%..%%%..%.%.%%%..%.%%%.%.%.%%%%%%%%%..%%%%%.%%%%,,,,,,,,,,,,,%..%%%%.%%%%%%%%%%%,,,,,,,,,,,,%%%%%%%..%%%%.%.%%..%%%%%%%%.%%%.%%%%%...%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%~~~~~~%%%%%..%%%%%%%%%%%%%,,,%%%%%..%%%%%%,%%%,,.%%%%%.%%%-~~~~~~~~~%%%%%%%%%%%%%%,%%%%%.%%%%%%%%%.%%%.%%,,------------------------------------------------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~%%%%,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~..%%%%%%%%%%.%%.%.%,.%%%%%%%%%%%%%%%.%%.%%%%%%%%%.%%.%%%%%%%%%%%%%.%.%...%%%..%%%%%%%%%%%%%%%%%%%%%%%.%,%%%%%%,,,.%.%%%.%%%%%%%%.%.%%%%.%.%.%.%%%%%%%%%%%%%%%%%.%.%%%%%%%%%.%.%.%%.%%%%%%%%.%%.%%.%.%%%%%%%%,%..%.%%%%%%,i,,,,,,,,,,%%..%%%%.%%%%%,%%,%%%%%,,,,,,,,%%%%%%%.%%%.%%%.%%%%.%%%%%%.%%.%%.%%.%%%%%%,.%%..%%%%%%%%%%%%.%%%%%%%%%%%%.~~~~%%%%%%%%.%.%.%%%%%%%%%%%%%%%%.%%%%.%%,,%%%%%%%.%%.%..--~~~~~~~~%%%.%%%%%%.%%%%%%%%%%%%%%%%%%%.%%%.%%,,------------------------------------------------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~%%%%%,,,,,,,,.,.,,,,~~~~~~~~~~~~~~~~~%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%..%%%%%%%%%.%%%%.%.%%%%.%%%%..%,%%%%%%%%%%%%%%%%%%%%.%%.,%%%%,,,,,.%%%%%.%%%%%%%%.%%%%%%%%.%.%%%%%%%.%.%%%%%%%.%%%.%%%%%%%.%%%%%..%%%%%.%%%%%%%....%%.%%%%%%%.%%.%%%%%%%%%.,,,,.%%%%%%%.%.%%%%%%.%,,,,%%%%%,.,,,,,%....%%%%%%%%%%.%%%%%%%%%%%%..%%.%%.%%%%%%%%%%%%..%%%%%%%%%.%%%%%%%%%%.%%%%.~~.~%%%%%%.%%.%.%%%%%%%%%%%%%%%%.%.%.%.%.,,%%%%%%%%..%%%%%%~~~~~~~~%%%%%%%%.%.%%%%%%,%%.%%%%%%%%%.%.%%%%--------------------------------------------------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~.%%%.,,.%%%.%..%.,%%%%%~~~~~~~~~~~~~.%.%.%%%%%%,.%%%%%%%%%%.%%%%%%%%%%.%%...%%%%.%%%%%%%.,.%%%%%%%%.%%%%%,,,..%..%%%,,%%%%%%%%%%%%%%.%%%.%%%.%%%.,,,,,.%.%.%%%%%%%%%%%%%.%%%%%...%..%%%%.%%%%%%%%..%%%%%%%%%%%,,%.%.%%,%%%%.%.%%%%%%%%%%%%%%,%%%%%%.%.%%%%%%%%%.%%.%%%%%%%%%%%%%%%,%%,,,,....%..,,..,..%%%.%%%%%.%.%%%%.%.%.%.%%%.%...%%%%%%%,%%%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%%.%...%%%.%%%%%%.%%,,%,,%%%%%%%%%%.%%%.%%%%%,,%%%%%%%%.%.%.%%%.~~~~~~.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%------------------------------------------------------------------------------------------~~~------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,i,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~%.%..,,%%%.%.%..,,%%%%.~~~~~~~~~~~~~~.%%%%.%%.%,,.%%%%%%%%%.%%.%%%%%%%%%%.%.%%%%%%%%%.%%%%%%%%%%%%%%%.%.%.,.,....%%%%,%%%%%%%.%%%%%.%%.%%.%%.%%%%%%%,,.%%%%.%%%%%%%.%.%,,%%%%%%%%%%%%%%.%%%%%%%%,,,,%%%%%%%%%%,,%%%%%.%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%.%.%%%.%%%%.%%.%,,,,.%%%%%%.%%.%%..,%.%.%%%%%%%%.....%%%%%%%%.%%%.%%%%%.%.%%%%%%%%%%%.,%%%%%%%%%%%%%%%%%.%%%%%..%%.%%%%%%%%%%%%,,%.%.%%%%%%%%.%%%.,..%%%%,,%...%%%%%%%%%.%%-~~~~~.%%%%%%%%%%..%%%%%%%%%.%%%%%%%%%%,,.------------------------------------------,-------------------------------------------------~~~~~~~--------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~%%%%%%%%%.%%%%.%%%%%,%%%%%%~~~~~~~~~~~~~%.%.%%.%%%.,%%%%.%%%%%,,%%.%%%%%%%%.%.%.%%%%%%%%%%%%%%.%%%%%%%%%%.%%,.,,%%%%%%..%,%%%%.%%.%%%%%%%%%..,.%%%%%.%%%%%....%%%%%%,%%.%..,%%.%%.%...,..,,,,.......%%%%,,%%%%%%.,%....%%%%%%%%%%.%%%%%%%%%%%%%%%%%%...%%%%%%%%%%%%%%%%%%%.%%%.%%%%%%%..,,.%.%.%%.%.%%.,,,.%%%.%%%%%%,,,%%%%..%...%.%%%.%%%%%%%%%%%%,.%%%%,,,%%%%%%%%.%%..%.%%.%%%....%.%%%%%%%%%%%%%..%%.,,%%%%.%%%%%.%.%%%%%%%%%%%%%%%%%..%%%%.....--.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,--------------------------------------------------------------------------------------------~~~~~~~--------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~%%%.%%%%%%%%%%..%%%%.%%%%%%%~~~~~~~~~~~~~%%%%%.%%%%%%%%%%%%%%%,...%%%%%%%%%.%%%%%%...%.%.%%%%%%%.%%%%%%%%%..%,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%%%%..%%%%%%%%.%%%%%%%,,%%%..%,,,,.,,.%.%%%%%%%%%,.%%%%,,%%%.%..%%%..%%%%%.%%.%.%%%....%%%%%%%%%.%%%%%%%%%.%%%.%%%%%%%%%,..%%%%%%,..%%%%%.%%%%..,.%%%%%%%%%%,,.,%%%%%%%%%%%.%%%%.%...%%%%%.%.%%%%%,,,%%%%%%%%%%%%%.%.%%..%%..%.%.%%%%%%%%%.%%,%%%%%%%%..%.%%%%%%%%.%.%%%.%%%%%%%..%%%%.%%%%...-.%%%%%%%%.%.%%%%%%%%%%%%%%%%-%%-,,,,--------------------------------------------------------------------------------------------~~~~~~---------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,-~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~%%%%.%%%%%.%.%%%%%.%%%%%%%%%%,,,-~~~~~~~--%.%%,.%%%%.%%%%%%.%%.%%%%%%%%%%%%%.%%%%.%.%%.%.%..%.%%%%%%%..%%%%..%,%%%%%..%...%%%%%%%%%.%,%%.%%%%%%.%.%%%%%.%%%%.%.%.%%.%%%%%%%%%%%%%..%%%%%%%.%%%%.,%%%%.%%%%%%,%.%%,,%%%%.%.%%%%%%%%%%%%%.%%%%%%..%%%%%%.%%%%%%%%.%%%.,%%.%%,,%%%%%%,%.%%%%%%,.%%%%%..%%%%%.,.%%%%%.%%%%%%%%%%%%%,.,,,%%%%%%....%%%%%,%%%%%.%..,.%..%%....%%%%%%%.%..%%..%%.%%%%%%%%%%%%%..%%%%%.%%%.%.%..%.%%%.%%%%%%%%%%%%%%%%%%%%%.%%%%-.%%%%%%.%%%%%%%%%%%%%%%%--------,,,,,-------------------------------------------,------------------------------------------------~~~~~-~~------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~%%%%%%%%%%%%%%%%%%%.%..%%%%,%.,,,--~~~~~~-----%i,,..%%%%%%%%%%%%.%%%%%%%%%%%%%..%%.%%,...%%%%%%%%%%%%%%%%%%%%.%.%%%%%%.%%%.%.%.%%%%%%%%%,%%%%%%%.,,,.%..%%%%%...%%%%%%%%%.%%%%%%%%....%%%%..%%%.%.,..%%%%%%%%%,%%.%,%..%%%.%%%.%%%%%%%%%%%%%.%%%.%.%%%%%%%.%%%%%%%%%%%.%...,,,%%%%%.%%%%%%%%.%..%%.%%%%%%%%.,,,.,,.%%%%%%%%%%%%%%,.,,%%%%%%.%%.%%%%%.,%%%%%%%%%%%%%.%%.%%.%%%.%%%%.,.%%%..%%%%%%.%%%%%%%%%..%..%%.%.%%..%..%.%.%.%%%%%%%%%%.%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%------------,------------------------------------------------------------------~~-------------------------~~~~~~~~~-----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~%%%%%%%.%%%..%%,%%%%.%%%%%%,,,,,,,---~~------i,.,,.,,.%%%%%%%%%%.%%%%%%%%%%%%%%.%%%..%.%%%%..%%.%%%%.%%%%%%%%%%%%%%%%%..%%%%%%%%.%%...%%.%%%%%.%%,,,%%%%%%%%%%.%%%.%%.%.%%%%%.%%%.%..%.%%%%.%%%%.,,%%%%%%.%%%%,,%%%%%.%.%.%..%%%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%%%%%%%%%.%%%%,,,,,%%%%%.%%%%%%%%%%%.,%%%%%%%%%,.%%%%..%%%%.%%%%%%%,,.%,,%%%.%%.%%%.%.%.,,%%..%%%..%.%.%%%%%%%%%%,%%%.%.,.%%%%%%.%%%%%.%%%.%%.%%%...%%%%%%%.%.%.%%%%%%%.%%%%%%%%%%%%%%%%%%%.%%%,,,%%%%%%%%%%%%.%%%%%-.---------------------------------------------------------------------,--------~~~~-----------------------~~~~~~~~~~~----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~*-****-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~-%%%%%%.%%%.%.,..%%%%%.%%%.%.,,.,,,--.--------,%%%%,..%%%%%%%%.%%.%.%.%..,%%%%.%%%%%%%%.%.%.%,,,,%%%%%%%%%%%%%%%.%%%%%..%.%.%%.%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%...%%%%%%%%%%%..%.%.%%.%%..%%%..%%%%.%%%%%%%%,.%,.%%%,.%%.,%%%%%%%%%%%%%%%%%%..%%.%%%%%%%%%%.%%%%%%%%%%%%,%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%.%%%.%%%%%%%.%%%%%%,,%%%,%%%%%%%.%%%%.%,,,%.%%%%%%%.%%%%%%%%%%%%%%%%%%%,,,%%%%%.%%%%%%%%%%%%%%.%.%..%.%%%.%.%%%%%.%%%%%%..%.%%%%%%%%%%%%%.%%%..,,%%%%.%.%%%%%%%%..%.--------------------------------------------------------------------------------~~~~-------------------------~~~-~~~~~----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--%%%%%%%%%%%.%%.%.%%%%.%%%%,%%%%%,,-%%%%%--..-%%%%.%...%%%%%%%,%%.%%%%%.%%%.%%.%%%..%%.%%%%%%,,,,.%%%.%%%%%%%%%%.,%%%%%.%%%%%%%%.%.%%%.%%%%%%.%%%..%%%%%%%%%%%%%...%%%%%%%%%%%%%%..%%%.,....,..%%%%%%%%%%%%%%%%%%%%%%%%,...%%%%%%%%%%%%%%%.%%%%%.%.%%%%%%%%%%%%%.%%%%%%%..%%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%%%.%%%%%,%%%,%%%.%%.%%%%%.,,,,,,%%...%%%.%%%%%%%%%%%%.,,.,.i,,%%%%%.%%%%.%,%%.%.%.%.%%%%.%%%.%%%%.%.%%%,,,%%..%%%%.%%%%%%%%%.%%%%%%%%%%.%%%%%%%%%%%%.%-.--------------------------------------------------------------------------------~~~~~--,--------------------------~~~------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%.%%.%%%,%.%%%%%,.%%%%%,,,%%......%..%%.%%%%%.%%%%%%,,.%.%%.%%%%%%%.%%%%%%%%..%%%..,%%.%..%%%%%%%%%%.%%%%%.%%%%....%%%..%%%.%.%%%.%%%%.%.%.%%%%%%%%%%%..%,,%%%%%%%%%%%%.%.%.%.,%%%,,...%%%%%%%..%%%%%%%%.%,%%,,,,%.%%%%%%%%.%%%%%%%%%%%...%.%%%%%%%%%%%%%%%%%,%%%..%%%.%..%.%%%%%.%%%%.%%%%%%%%%%%%.%.%.%%%%%%%%,%%%%%%%%%%%%%.%%%..%.%%.,,.,,,,,,i...%%..%%%%%%%%%%.,i,,,i.,%%%.%.%%%%.,,%%%%%%%%%.%.%.%%.%%.%.%.%%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%.%%%%.%%%.---------------------------------------------------------------------------------~~~~---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%.,.%%%%%%%%%..,%%%%%,,,,%.%%.%...%%.%..%%%%.%%%%%.%%%%%%%%%%%%.%%%%%%%%%%%%%%..,,.%%%.%.%%%.%%%%%%%%%%%%%%%%%%%%%%%.,,%%...%%.%%%.,%.%.%.%.%%%%%%%%%%%%%%%%%.%.,.%.%%%%%%%%%.%%%%%,%%%%%,,,%%%%%%.%.%%%%%%%%.%%,,,,,,.%..%%%%%%%%%%%%%%%%%%....%%%%%%%%%%%%%%%%,,,,%%%%%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%.%.%%%,,%%%%%%%%%%.%%%%%%%%..%.%,,...,.,.%%%%%.%%%%%%%%%%%%%.%,%%%%,%%%%%%%%..,..%%%%%..%.%%%.%%%%.%..%%%%%%%%%%%.%%%%%.%%%.%%%.%%%%%%%%.%%%%%%%%.%.%%%%%%%%---------------------------------------------------------------------------------~~~~~~----------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,--~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%,,.%..%%%%%,,%%%%%%.%.%%.%%%%,%..%.%..%%%..%.%.%.,.%%%%%%%%%,%%%%%%%%.%%,..%,%,.%%%%%.%%%..%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%.%%.%.,,%%%%%%%%.%%%%%%%.%.%%%%%.%%%%%.%%%%%%%%%..%%%.%%%%%%%.,,,.%%%%%.%%%%%%%%%,,,,,..,,%%%%%%.%%%%%%%%,%%%.,,%%%%%%%%%%%%.%%.%%%..%%%.%%.%%.%%%.%%%%%%%%%%%.%%%%%%%%%%%%%%%.%%.%%%%%%%%.%%%%%,%%%%.%%%,,,,%%%%%%%%%%%,%%%%%.%.%%%%%%%%%%%%.%%%,%%.%%%%%.%%%%%.,%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%..%%.%..%%%%%%.%%%%%%%.%%%%%.%.%.%%%%%%%%%%-------------------------------------,-----------------------------------------,-~~~~~~--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,%%%....%%%%%%%%%...%.%%%%%%%%.%%%%.%%%.%..%%%%.,,,.%.%%%%%,%%%%%%%%%%.%%%%%%%%.,..,%%%%%%%%%%%%%%%%%%.%%%%.%,%%%%%%%%%%%%..,%,,%%%%%..%%.%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%.%%,,,,,,%%%%...%...%%%,,,,...%%.%%%%%%%%%%%%.%.%%%%%.%.%%.%.%.%%.%h%%%%%.%%%%%%%%%%%%%%%%%%%.%%.%%%.%%%%%%%%%%%%%%%%%%%.%%%%.%.%.%%%.%%%%..%%%,,,,%%%%%%%.%%%.%.%%%%%%%.%%%..%%%%%%%%%,%%%.%.%%%%%.%%.,%.%%%..%%%%%%%%%%%%%,..%%%%%%%%%%%.%%%%%.%%%.%%%%%%%%%%%%%%%..%%%%.,,,%%%%.%.----------------------------------------------------------------------------------~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%%%%%%%%%%%%%..%%%%%%%,%%%%.%%%.%%%%.%.%.%%%%%%,.,%..%%.%%%%%%%%..%%..%%.%.%%%%%%%%%%.,,,%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%,,%%%.%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%.%%%%.%%%%%.,%%.%.%,%%%%%%%.%%%...%%%%%%..%%%..%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%.%%%%%.%%%%,%%%%%%%%%.%.%,,,.%%%%%%.%%%%,%.%.%.%%..%%%%%%%%%%%%%%,%%%%%.%%%....%%,%%%%.,%%%%%%%%%%%%%%%%%%%%%%,%%%%%,,...%%%%%%%%%%%%%%%%%%%%%%%.%.%,%%---....-----------------------~~~~-------------------------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%.%%%%%%%%%%%%%%%%.%%%%%.%..%%%%.%.%.,%...%%%%..%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%.%%%.%%%%%.%.%%%%%%%%%%%%,%%%%%%%%%%%%%%%%~,,%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%.%%%.%%%%%%%.%.%%%%%%.,,%%%...%.%.%%%%%%%%%%%%.,,%%%%%%%%%%%%%%%%%%.%.%.%..%%%%.%,%,,.%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%.%%%%.%%%%%%.%%%%%%%%.%%%%%%%%%%%%%.%%%,,.%%%%%%.%.%%%.%.%%%..%%.%%%%%%%%%%%%%..%%..%%%%%%%%%%%,%%%..,%%%%%%%%%%.%%,%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%.%%---------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%..%.%,%%.%...%%%%%%%%.%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%%.%%%%%%%%%%,%%%%%%%%%%.%%%%%%%%%%%%%%%~~~%%%%%%.%%%%%%%%%%%%%%%%.%%%%%%%%%%%%.%%%.%.%%%%%%%%%%%%%%%%%%%.%%%.%.%%.%%.%%%%%%.%.%,,,%%.%%%%%%%%.%%%%.%%%.%%..%.%.%.,,,,%%%%%%%%%%%%%%%,.....%%%%%.%%.%.%%%..%..%%%%%%,%%%%%%.%%%%%.%%%%%%%,%.%%%.%%.%%%%%%%%.%%,---....%%.%%%%%.%%%%,,,%.%%%.%%%%%%%%%.%,%%.%.,.%%.%%.%%%%.%%%%%%%%%%%.%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%...%%%%-----------------------------~~~~~~---------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,%.%..%..%%.%%%%%%%%%%%%,%%..%%%%%.%.%%%.%%%%%%%%%%%%%%.%.%.%%%,%%%%%%%%%%..%%%%%%%%%%%%%%-%%%%%%%%%%%,,%%%%%%.%%%%.%.%%%%%%%%%%~~~~%%%%%%%%%.,%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%.%%%%.%%%%%.%.%%%.%,,%%%...%%%%%%%%%%.%%%%,,,%%%%%%%%%%.%%%%%%%%..,,,.%%.%%,,,,%%%%%%%%%%%%.%%%.%%%%%%%%%%.%%%%%%%%%,.%%%.%%%%,%%%%%%.,,.%..%%%%%%..%%%%%%%%%%%%%%%,.,,.---~~%%%%%%%%.%.,%%%%%%.%.%.%%%%%%%%%%%%,,%%.%..%%%%%%%%%%%.%.%%%%%%%%.,%%%,%.%%%%%%%,.%%%%.%%%%%%%,%%%,-.%%%%%-----------------------------~~~~~~-------------,---------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,~----,,,,,,,,,,,,,,,,,,,%%%%.%%.%%%%%%%%%%%%%,%%%%%%%%%%%%%%.%%%%%%%%%%%%%%..%%%%%%%,,%%%%%%%%.%.%%%%%%%%%%%,--------%.%%%%%..%%%%%,%%%.%.%%%%%%%%%%~~~~~%%%%.%%%.%..%%.%%%%%%%%%.%%%%%%%%%.%%%.%%%%.%%,%%%%%%%%%%%%.%%%%%%%%%%%,,,%%%%%%..,,,,,,%%%%%%%.%%%%%%%%%%%,.,,%%.%..,,,,%%%%%%%%%%%%%.%%%%..%%%%%%%%%%....%%%..%%%.%%.%%%%%%%%%.,.%%%%%%%%%,,,.%.%.%%%%%%%%%,,,,,,---~~%%%%%%%%%%%,%%%%%.%%%%%%.%%%.%%%....%%%.%%%.%.%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%%%,%%.%%%%%%%%%,,,,,,.--%%%%----------------------------~~~~~~~------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,~~~~~~--,,,,,,,,,,,,,,,,,.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...%%%%%%%%%%%%%,.,..,,,,,,,%%%%.%.%%.%%%%%%%%%%%.--------%,%%%%%..%%%%%.%%%%,.%%%%%%%%%%%~~~.%%.%%.....%%.%.%%%%%%%%%.%%%%%%%%%,.%.%%%.%.%%%%%%%%%%%%%%%%%,%%%%.%%%%%..%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%%,,...%%%%.,,....%.%%%%%%%%%%%%%%%%.%%%%%%%%%%.%%%%%%%%.%%%%%%%%%..%%%,,.%%%%%%%%%%..,..%%%%%%%%%%%%,,,,,,---~~~~~-%%%%%%%%%%%%%%%%.%%%%%%%%%%.%%,,%%%%%%%%..%%%%%%%%%%%%%%%%%%%,..%%%%%%%%%%%%%%.%%%...%.%%.,,,,,----------------~-------------------~~~~~~~~~~--------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,~~~~~~--,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%.%%%.%%%%%%%%%%%%%%%,,,,,-,,,,%%..,,...%%%%%.%%%%%~~~~~----,,%%%%%%%%,,...%.,,,~~~%%%%%%%%~~~~~~~~~~~-.%.%%%%%%.%%%%%%%%%%%%%%.%%%%%,%%%.%%..%.%%%%%%%%%%%%%%%%%%%%%%%%%.,%%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%.%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%,..%%%%.%%%,,,..%%%%..%.%%%%..,,,,----~~~~~-%%%%%%%%%%%%%%%%%..%.%%%%%%%%%%%%%%.%%%%%.%%.%.%%%%,%%%%%%.%%%%%%%%%%%%%%,%%..%%%%%...%.%.,,,,---------------~~~~~~~~---------------~~~~~~~~~-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,i,,,i,,,,,,,--,,,,,,,,,,,,,,,,,,,,-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,~~~~~~~--,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%,,,-------,%%.%%%%.%%%%%%%%%%%%~~~~~--~,,%%%%%%.%%,%%%%.%,,~~~~~%%%%%%~~~~~~~~~~~~.%%.%.%.%%%%%%%%%.%%%%%%%%%%%%%%%.....%%%.%%%%%%%%%%%%%%%%%%%%%%%%%.,%%%%%%,,,,,,,,,,%%%%%%%%%.%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%.%%%%%%%%.%%..%%%%%%%%%%%%%,.%.%.%%%.%%.%%.%.%%%.,%.%%...%%.,----~~~~~-%%.%%%%%%%%%%%%%%...%%%%%%%%%%%..%%%.%%..%%%%%%%%%%,,%%%%%%%.%%%%%%%%%%%%.%%.%.%%.%%%%%%...,,,-------.------~~~~~~~~~-----------------~~~~~~~----------------------------,----------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,-------,,,,,,,,,,,,,,,--------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,~~~~~~~~,,,,,,,,,,,,,,,,,%%%.%.%%%%%%%%%%....%%%%%%...%%%%%%%%%%%,.%%%%%%%%%%%,,---------%%%.%%%%%%%%%%.%%h%~~~~~~-~~,,%%%%%%%%%,%%%%%%%~~~~~~~~~%~~~~~~~~~~~~~~~%%%%%%...%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%%%%%%%%%%..%%%%%%%%%%%%%.~~~%%%%%%,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%..%%%%%%%.%%%%%.%%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%..,%%%%%%%%%%%%%%.%.,,.%.%.%%%%.%.,,---~~~~~-%.%%.%.%%%%%%%%%%%%.%%%%%%%%%.%%.%..%%..%%%%%.%.%.%,%%%%.%%%%%%%.,%%%%%....%%%%.%.%%%..%%.%%,,----------,---~~~~~~~~~~~---------------~~-~~~-----------------------------------------~~--------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,,,,,,,,,,,,,,,---------------,,~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,%.%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%.%%%,%%%%%%.%%,%,,,---------%%%%%%..%%%%.%%%%%%%~~~~~~~~~~..%.%%%%%%%.%.%%%.~~~~~~~~~~~~~~~~~~~~~~~~.~~-..%.%.%%%%%%%.%%%%%%%.%.%%%%%%%%%%...%%%%.%%%%%%%%%%%%%%%%%%~~~~~%%%%%~,,,,,,,,,%%%%%%%%.%%%%%%.%.%%%%%%%%%%.%%.%..%..%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%.%.%..%%%%%%%%%%%%%,,,%%%%..%%%%,,,,--~~~~~,i%%%%..%%%%%%%%%..%%%%%%%%%%%%.%%%%%%%%%%%%%.%%%%.%,%%%%%%%..%%%%%%%%.%%%%%%%...%%%%.%%%.%.%,,--------------~~~~~~~~-~~----------------~---,------------------------------------------~------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,------,,,,,,,,,,,,,,,--------------~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~,,,-~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,%.%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%~~~~~~~-----%..%%.%%%%%.%%%%%%%~~~~~~~~~~~%%%.%%%%%.%%%.%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~~-.%.%%%%.%%%.%%%%%%%%%%%%%%%.%%%%%%%.%%%..%.%%.%%%%%%~.%%%%%~~~~~~%%%%~~~~~~,,,,,%%%%%%..%%%%%%%%%%%%%%%%.%%.%%.%%.%%.%.%%%.,..%%%%%%%.%%%%%%%%%%%%%%%%..%%%%.%%%%%%%%%.%.%%%%%%%%%%.%%%%%,,.%%%%%%%%.%,,,,,-~~~~~,,%.%..%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%...%...%%%%%%%%%.%%%.%..%%%%%.%%...%%%..,---.-----------~~~~~-------------------------------------------------------------------~~------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------,,,,,,,,,,,,,,-------------~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,%%%%%%.%%...%%%.%%%%.%%.%%%%%..%.%%%%%%%.,.%%%%%%%%%~~~~~~~~~~----.%%.%.%,.,..%%%%,~~~~~~~~~~~~.%%%..%%%%%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%..,%%%%%%%%%%,%.%%.%%%%%%%%%%.%.%%...%.%%%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%%%%%%.%.%%%%%%%%%%%.,,,.,.%...%..%%%%.%%%%%%%%%%%%%%-.%~%%%%%%%%%%%%%%%%%%%%%%.%%..%%%..,%%%%%%%.%%%,,.%%%%%%%.%%.,,,--~~~~~,.%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%%%..%%,,%%%%%,%%%%%.%%%%%%%.%%%..%%%..---------------~~~~---------------------.---------------------------------------------~---------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------,,,,,,,,,,,,,------------~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,.%%%%%%%%%%%%%.%%%%.%%%%.%%,%%%%%%%..,~~~~~~~~~~---%%,%.%%%%%%%%.%%%,,,,~~~~~~~~..%%%%.%%%..%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...%.%,%%%%.%%%%%%%%%%%%%%.%%%%%%%%%.%.%,,,,,.%.%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%%%%%%%%,%%%%%%%%%,%%%,,,%%%%%%.%%%%%%%%%%%%%%%%%~.~~.%%%%%%%%%%%%%%..%%%%%%%%%%%%.%.%..,%.%%%%%%%,,,,%%%.%......,,,,---,,,,.%.%.%,%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%.%.%..%.%%%%,,%%%%..%.%%%%%%%%%%%%%%%...%%%%-----------------~---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------,,,,,,,,,,,,,-----------~~~~~~~~~~~~~~~~~~,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%.%%..%,%%%%%%%.%%%%%%%%%%%%%%%%%%.%%%%%.%%%%%,~~~~~~~~~~-.%%.%%%%%%%%%%%%%%,,,,,,---~~~~~%.%.%.%%%%%.%.%.%~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%,%%%%%%%%.%%%,%%%%%%%%%%%%%%%%.%,.%%%%i..%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%.%%%%%%%%%%.%%%%%%%%%,,%%%%%%%%%%%%.%%%%%%%%%%%.~~...%%%%%.%%%%%%%.%%%%%.%.%%%%%%%%%.,%%%%%%%%%,,,%..%%%%.%.%%,,,,,,-,,,,,,%%.%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%,,..%,.%%%%%%%%%...%%%...,%%%%%.%%.%%.%%%%%%%%%%%%%..%%%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------,-----------------------------,-------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------,,,,,,,,,,,,-----------~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*SSS,,,,*,,,,,,,,,,,,,~~~~~~~~~,,,,,,,,i,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%.i%.%.%%%%%%%%%%%%%%..%%%%%%%.%%%%%%%%%%,~~~~~~~~~~-%%%.%%%%%%%%%%%..%,,,,,,-----~~-.%%%%,%%%%%%.%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%.%.,,,,%%%%%%%%%%%,%%%%%%%.%%%.%%%%%%,%.%%%...%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%..%.%%%%%%%%%%%%%%%%.%,,,.%%%.%,%%%%%.%.%%%%%%%%-.%%%%~%%%%%%%%%%%%.%%%%%%%.%.,..%...,,%%%.%%%%%.,,%%%%%.%.%%%%,,,,,,,,,,,,%..%%%%%%%%%%%%%,%,.%%%.%%%%%%%..%%%%%%%%.,,,%%%.%.%%%..%%.%.%%%.%%%%%%....%%%%%%%%.%%%%%.%%%%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,---------------,----,,,--------------~~~~~~~~~~~~~~~~~~~~~---,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**SSSS,,,*,,,,,,,,,,,,,~~~~~~~~~,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%.%...%%%%%%.%.%%%%%%%%%%%.%%%.%..%%%%%.%.%,~~~~~~~~~~~%%%%%%%.%%%%%%%%%%.,,,,,,-------..,,.,,%%%.%.%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%.%%,,,,%%%%%%%%%%%%%%.%%%.,,%%%.%%%%%,%%%%%,,%%%%%.%.%~~~~~~~~~~~~~~~~~~~~~~~~~,,,.%.%.%.%%%%.%%%%%%%%%%%%%%,,,%%....%,,.%.%.%%%%%%%%..%%%%%%.%%%.%%%%%%%,.%.%%%.%%%%.%%.,.,...%%%%%%%%...%%%%%%.%,,,,,,,,,,,,,,,%%%%%%%%%%%..%.%,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%.%.%%%%%%.%.%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%--------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*****S**,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%..%%%%%%%%.%%%%%%%%%%%...%%%%%.%.%%,%%,,~~~~~~~~~~,%%%%%%%%%%%%%%%%%,,,,,,,,,,,-,,,,,,.,,,,,,,,,,%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%,.,,..%%.,,,%.%%%%%,..%%%%%.%%%%%%,%%%%%,,%%%%%.%%%~~~~~~~~~~~~~~~~~~~~~~~~~,,.%%.%%%%%..%.%%%%h%%.%%%%%%%%,%%%%%%%,,..%%%%%%%%%%%.%%%%%%%.%..%%%%%%%%..,%%%,%%.%.%.%..%%%%%%%%%..%%%.%.%..%%%%,,,,,,,,,,,,,,,..%%%%%%%%%%.%%%,,%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%.....%%%%%.%%%%..%%%%,%.,,%%%%%%%%%%.%%%%%%%%%--------------------------------------------------------------------------------------------------------------------------------------------------------~----------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,-------~--------------------------------~~~~~~~~~~~~~~~~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*********,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,%%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%%%.%.%.%.%%%,,,.,,%%%,.~~~~~~~~,,%%%%%.%%%%%%%%%%,,,,,,,,%%%%%,,,.,,,,,,,.%.,..,,~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%%%%%%%%%.%,,,%%%%%%%,,,.%%%%%%%%%%%%%%%%,,,%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%,%%%.%.%%%%%.%%%%.%%%%%%%%%%%%%%%%%%,%%%%%.%%%%,%%%%%%.%.%%%%%%%%.%%%....%.%%%%%%%%.%%%%.%%%%%%%%%.%%%%%.%%%%%%%,,%.%%,%%%%%,%%%%%%%%%%%%%,..%..%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%.%%%%%%.%%%%%.%.%%%%%%.%%%%%%%%%%%%%%%%%%%%---------.--------------------------------------------------------------------------------------------------------------------------------------------~~~~~~-------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**********,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,i,,,i,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,%,%%%%%%%..%%,%%%%%%%%%%.%%%%%%%%.%%%%.%%%%.,,,,,%.%%%%.~~~~~~~,,%%%%,,.%%%%%%%%..,%%%%,,%%%%%%%%%%%%%.%%%.%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%,%%.%%%%%%%%%%%%%%%%%.%%%%.,,.%%%%%%,%.%.~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%%.%%..%%%%%%%%..%%%%%.%%.%%%%%%%%%,%%.%.,%%%%,%%%%%%%%.%%%%%%%%%.%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%...%%%%.,%.%%%%%%..%%%%%%%%.%%%%%%%%%%%%%.%%.%%%%%.%%%%%%%%%%%...%%%..%%%%%%.,,,,,%.%.%..%%%...*..%.%%,.%%%%%%%%%%,%%%%%%%%--------------------------------------------------------------------------------------------------------------------------------------------------~~~-~~~~~-----------------------------------------------------------------------------------------------------------------------------------~~-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~***,,,,,,,,,,,,,,,,**$$********,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,i,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,**S,,,,,,,,,,,~~~~~,,,,,,,%%%%%%%.%.,.,%%%%%%.%%%%%%.%.%..%%%%%.%.%%%..,%%%.%%%.%.~~~~~~,,%%%%,,.%%%%%%%%%%%.%%%,,%%%%%%%%%%%%.%%%%.%.%.%,..~~~~~~~~~~~~~~~~~~~~~~%.%%.%%%%%%%%%%%%%%,,.%%%%%%%%.%%%%.%%.%%%%%%.,,%%.%%,.,.,%~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%.%....%.%.%%%%%%,%%%%%%%%%%%%%%%%%%%%%,.,,%%%%,,%%%%%,,..%%%%%%%%,%%%%.%%%%%%%%%.%%.%%%%.%%%%%%%%.%.%%%..%%%%%.%,%%%%.%%%%.%.%%%%%%%%%%%%,..%%%.%.%%%%%%%%%%%%%%%%%..%%..%%%,,%%%.%%.%%,%,.%%,%%%...%.,,%%%%%%%%%%,%%%%%%%%,-------------------------------------------------------------------------------------------------------------------------------------------------~~~~~---,----------------------------------------------------------------------------------------------------------------------------------~~~~------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~--------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~**~**********,,***$$*******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,***,,,,,,,,,,,,~~~~,,,,,,,,%%%%%%%%%,,,,%%%%,,,%%%%%%%%%%%.%%.%%%.%.%%%,,%%%..%.%%.,.,,,...%.%%..%%%%%%%%%%%%%%%%,,%%%%..%%%%%%...%%%%%%%...%.%~~~~~~~~~~~~~~~~~~~.%%%%,%.%%%%%%%%%%%%,.%%%%%%%%%.%%%%%%%%%%%%%%%%,%%%%%.%.%.,~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%.%..%%%.%%.%.,.%%%,,%.%%,%%%%,%%%%%%%%%%%.,,%.%%,%%%%%%%,.%%%.%%%%%.%.%..%%%%%%%%%%%%%%%%.%%%%%%.%..%%%..,,%%.%%%%.%.%.%%%%%%%%%.%%%%%%%%,..%%%%%%%%%%.%%..%%%%%%%%%.%%%%%%%%%.%%%%%%.%.%%%%%%,%%%%%%..%.,..%%%%%%%,,,%%%%%%%--------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~------------------------------------------------------------------------------------------.----------------------------------------~~~~~~-----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,-,,,,,,,-,,,,,~~~~~~~~~~~-----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~**~~~~~~******************,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,$**,,,,,,,,,,,,~~~~,,,,,,,,%%%..%%%%%,,,....%%%.,,.%%%%%.,......%%....%,.,..%.%%.%.%%%%%%%%.%%%%%%%.%%%%%%%%.%%%%.,,.,%.%%.%%..%%%%%%..%.%%%%%%~~~~~~~~~~~~~~~~~~~%%%%%%%%%%.%%%%%%%%%.%%%%%%%%%%%%%.%%%.%,..%%.%%%.%%%%%%%%.,,~~~~~~~~~~~~~~~~~~~~~~,,,,,%%.%%%%%.%%%.%%%%.,,,,,,,,,,,,.,%%%%%%%%%%%..,,.%%%%%%%%%%,,.%.%%%%%..%%.%%%%%%%%%%%%,%%%%%%.%%%%%%%%%,...%.%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%.%...%%.%%%%%%%%%%%%.%,.%%%%%%%%%%%%%%%%%%%..%%%..%%%.,%%%.%%%%..,,%.%.%%%.,,,,,,,,,,--------------------------------------------------------------------,------------------------------------------------------------------------------~~~~~~-----------------------------------------------------------------------------------------------------------------------------------~~~~~~-----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,----,,,,,---,,~~~~~~~~~~~~~~~~------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~*****************,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,*$**,,,,,,,,,,,~~~,,,,,,,,,%%%%%.%%,,,%%%%%.%%%%%%.%%%%%.%.%%..%.%%.%%.%%,.%.%%%%%%%%%%%.%%..%%%%%%%%%%%..%%%%%%%.,,,,%.%.%.%.%.%%%..%%.%.%%%.%.~~~~~~~~~~~~~~--,%.%..%,.%%%%%%%%%%%%%%%%%%%%%%%%%%%....%%%.%%%%.%%.%%%%%%%%%.--~~~~~~~~~~~~~~~~~~~~,,,,,,,%,.%%%..%.%%%%%.%%%,,,,,,,,,,,,%%%...%%.%%.%%.%%%%%%%%%%%.%%%.%%%%%%,,...%%%%%%%%%%%,..%%%%.%%%%%%%%%..%%%%.%%%%%.%.%.%%%.%%%%%%%%%%.%%%%%%%.%%.%%.%%%%%%%%%%%%,%%%%%%%.%%%%%%%%%%%%.%.%%%%%%,,.%%%%%%%%.,,,.~.%%.%.,,--,,,,,----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~---------------------------------------------------------------~~~~~---------------------------------------------------------------~~~~~~---------------***------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,------,,,-----,,~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,~*~~~~~~~***************,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,**,,,,,,,,,,,,~~~,,,,,,,,%%%%%%%%%.%.%.%.%.%%%%%%.%%%%..%.%%%.%.%%.%.%%%.,%%%%%.%%%%%.%%%%%%%%%%%%.%%%%%%%..%%.%%%%.,%.%%%%..%%%%%.%%%.%.%%%%%%%~~~~~~~~~~~----..%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%.....%%%%%...%%%%%%%%%%%.%.---~~~~~~~~~~~~~~~~~~,,,,,,,,..%.%..%%%.%%.%%%%%,,,,,,,,,,,,,,,.%%%..%.%%%%%%%%%...%%.,%%%%%%.%%%,,%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%.%%%%%%%%%%%%.%%.%%%%%..%%%%.%%%%%%%.%.%..%%%%%%%%%%...%%%%%%.%%%%%.%%%%%%%.%.%%,,,,..%%%%.%.%.%%,%...%%%.,,------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~----------------------------------------.----------------~~~~~~~~~~~~~~-----------------------------------------------------------~~~~~~---------------*^^*-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**~~~~~~~~*************,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,~~~,-,,,,,%%%%%%%%%%%%,%%%%%%%%%%%%.%%%.%%%%%%%%..%,,%%%%...%.%%.%%%%%%%.%%%%%%%%%%%.%%%%%%.%%.%%%%%.%%%%%.%%%.%.%%%.%%%%%,,%.%%%%%%.~~~~~~~-----..%.%.%%.%%%.%%%%%%%%%%%%%.%%%%%%%.......%..%.%%.%.%.%.%%...%---~~~~~~~~~~~~~~~~~~~,,,,,,,,%%.%.%%%%%%%%%%%%%%,,,,,,,,,,,,,,.%%%%%.%%%%..%%%%%%%%%.,%....%%%%%%%%%.%%%%%%.%%%%%%%%%.%.%%%..%..%%.%%%%%%%%%%%%%%%%.%%%%%%.%...%%%%%%..%%%%%%.%%%%%%.%%%%%%%%%%%%..%%%%%,%%..%%%%%%%..,.,,,%%%%%%%%%%%,%%%.%.%%%,------------------.----------------------------------------------------------------------------------------------------------,-------------------------------~~~~~----------------------------------------------------------~~~~~~~~~~~~~~~-----------------------------------------------------------~~~~~-----------**--^^^*------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*~~~~~~~~~*******,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,~~~~---,,,%%%%%%%%%%%...%%...%%%%%%%..%%%%%.%.%%.%%,,%.%.%%.%%%%.%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%.%.%%%%%%..%%%..%%%%%%%%%%..%,,%%%%%%%%%%%~...---,,..%%%.%%.%%%.%%%%%%%%%%.%%%%%%%%%%%........%.%%.%.%%%%%%%.%%%--~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%.%.%%%%.%%%%%,,,,,,,,,,,,,,,.%%%%.%.%...%%%%..%%%%..%%.%.%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%%.%%%.%%%%%%%%%*.%%%.%%..%%%%%.%%%...%%%%%%%%%%%%%%%%%..%%%%%.%%.%.%%%%%,,%%%%%%%%%%%%%%%%%.%.%%,--------------------------------------------------------------------------------------------------------------------------------------------------------------~~~----------------------------------------------------------~~~~~~~~~~~~~~~~-----------------------------------------------------------~~~~~-----------^^-*^^^*------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*,,,--**---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***~*~~~~****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,~~~~---,,,%%%%%%%%%%%%....%.%%%%%%%%%%%%%%%.%%.%%%%%%%%%%%.%.%%.%%%%%%%%%%%%%%%%.%%.,%..%%%%.%%%..%%%%%%%%...%%%%.,,.%.%%%%%,,%%%%%%%%%%..%%%,,,,,.%.%.%%%%%%.%%%%%%%%%%%%%%%%%,,.%%%.%..........%%%%.%%%..%%%%%~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%%.%%%%%%%%%%%,,,,,,,,,,,.,..%%%.%.%%.%%.%%.%%..%.%...%..%%.%..,%%.%....%%%%%%%%.%,%.%%%%.%%%,%%%%,,%%%%%%%%%%%%%%.%%%%,%%%%.*..%%%..%%%%%%.%.%%%.%..%%%%%%%%%%%%%.%%%%%%%%%.%.%%%%%%%%%.%%%.%%%%%%%%.%%%%..-.------------------,----------------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~-----------.------------------------------------------------~~~------------^^^^^^^^*------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**~~~~**,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~---,%%%%.%%%.%%%%,..%,%%%%%%%.%%%%%%%%%...%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%.%%%%.%%..%.%%%.%%%%%%%%%%,%.%%%%%%%%,,%%%%%%%%%.%%%.%..,,,%%%%.%%.%.%%.%%%%%%.%%.%%%%%,%%.%%%%......%%...%%%..%,%%%%%%%~%~~~~~~~~~~~~~~~---,,,,,,,,%%%%%%%%%%%%%%%%%%%,,,,~~~,,,,,.%%.%.%%,....%.%.%%.%%.%%.%%%%.%...,,.%%%.%%%%%%%%%%%%%%,.%%%.%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%,SS.****.%.%.%%%%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%.%.%%%%%%.%%%%%%%.%%%%%---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------^^^^^^^*--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,~~~---,,%%%%%%.%%%%%.%%%%%,%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%%.%%%%%%%.%.%%.%.%%%%.%.%.%.%%,.%%%%%%%%%%,.,%%%%%%%%.%%%.,,%%%.%.%%..%%.%.%%.%..%%%%%%%%%%%%.%%%%%......%..%....%.,,%%%%%%%%%%~~~~~~~~~~~~~~----,,,,,.,,%.%%%%%.%%%%%%%%%%,,,,,,,,,,,,,%%%%%..,,,%.%.%%.%%.%...%%.%.%.%%..,.%%%%.%%.%%.%%%%%.%,.%%%.%%%%%%%,,.,,%%%%%%%%%%%%%%%%%%SS***S.,,%%%%..%%.%%%%%..%%.%%%%%%%%%%%%%.%%%%%%%%%%%%%.%%%%.%%%%%%...%%%%%%%%%%%.%%%%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------.----------------------------------**-*^^^^^^*--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,%%%%%.%%%%%%%%%%%%,,.%%%%%%%%%%%%%%%.%%.%%%%%%%%.%%%%%%%%%%%%%%,..%%.%%,%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%.%%,%%%%%%%%%%,,,,,%%%%%%..%%.%,%%%.%%%%%%.%%.%%.%%%%.%.%%%%%%%.%%.%%%%%......%........,,%.%%%%%%%%%~~~~~~~~~~~~~~~---,,,,.,%%.%%%%%.%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,..%%%%%%%%%%%%...%%%%%%%%%%%,%%%%%%%%%...%%.%,,,.,.%%%%%%%%%,,,,%.%%%%%%%%%%%%%%%%****.*.,,,.,.%%%%%%%%%..,%%.%%%%%%%%%%%%%.%%%%%%%%%%%%%%.%%%.%%%.%%%%.%%%%%%%%%%.%%%%%-------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------^^^*^^^^^^*--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,%%%%.%%%%%%%%%%%.%.%%%%%%%%%%%.%%%.%%%%%%%%%%%%.%%%%%%%%%%%%%%.,,,.%%%%%.%.%%%%%%%%%%%.%%%%%%%%%%%.%..%%%%%%%%%%%%%%%,,,%%%.%...%%.%..%%%%%%%.%%%%%.%%%%%%.%%%%%%%%%%%%%%%%%%.......%%%........%.%%%%%%%%%~~~~~~~~~~~~~~~~---,,,,%,%%%%%%%%.%%.%%%%%,,,,,,,,,,,,,,%%%%%%,,...%.%.%.%%.%%.%....%.,%%%,%%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%%%,..%%.%%%%%%%%%%%%%%%.%%%%%%%%%,.%.%.%%%%%%%%.%.%.%%%%%%%%%%%.%%%%%%%%%%%%%%%%%.%.%%%%.%%%.%%%%%%%%%%%%%%%%%-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------*^^^*^^^^^^----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,.,,%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%,%%%%%%%%%....%%%%%%%%%%%%%%..%,%%%%%%%..%%.%%%%.%%%%.........%........%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~-,,,,,%%%%%%%.%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%,%%%.%.%%%%%.%%.%%%%.%%,,,%%%%%%%%..%.%%.%%%%%%%%.,,,%%%%%%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%%.%,%%%%%,%%%.%%%%%%%%,%%%%%%.%%%%%%%%%%.%%.%%%%%%%%%%%%%%%%.%%%.%%%.%%%%%%%%%%%%%%%%%-------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------**^*--^^^^-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.,%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%,,~.%%%%%%%%%%%%%%%%%%%%%%.%.%.%%%%%%..%%.%,%%%%%%%%%%.,.........%.........%%%%%%%%%%%%%%~~~~~~~~~~~~~~~-,,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%..%%.%..%.%..%%%%%%%%%%%%%%%%%%%.%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%%%%%%..%%%.%%%%%%%.%%%%%%%%%%%%%%%%.%%%%%.%%%%.%%%.%%%%%%%%%%%.%%%..%...%.%%%%%%%%%%%%%%%.%%.%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------**-----*-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%..%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%.%%.%%..%%%%%%%%%%%%.%%%%%%%%%.%~~%%%.%%%%%%,%%%.%%%%.%%%%%.%%.%%%%.%.%%..%%%%%%%%%%...........%........%%%.%%%%%%%%%%%%~~~~~~~~~~~~~~~,,,,%%%%%%%%%%%.%%,%%%%.,,,,,,.,..%%%%%%%%%%%.%%.%%%.%.%.%,%.%.%..%%%%%%%%%.%.%.%%%%%%%%%%%%%%%%.%%%%%%%%.%%%%%%%%%%.%%%.,...%%.....%%.%%%%%%%,...%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%..,.,%.%..%%%%.%%%%%%%%.%%%----------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------,------~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%.%%%%%..%.%%%%%%%%%%%%%%%...%.%.%.%%%%%.%%%..%%%%%%%%%.%%%%%%%%%%%%%%%.....%%%.%%%%%.%%%%%%%%%%%%.%%%%.....%%~~~%%..%%%%,,,%%.%%%%%.%%%.%.%%..%%%%...%%%%%%%%%%%%,,..........%...,...%%%.%%%%%%%%%%.%%~~~~~~~~~~~~~~~,,,%%%%%%%%%%%%%.,%%%.%,,,,,,%%%%.%%%%%%%%%%%%%%%%%.%%%%%%.%...%.%%%%%..,.%%.%%%%%%%%%%%%%%.%%%%%%%%.%%%%h%%%%%%%...%.%.,,%%%%.S.%%%%%%%..%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%.%%%%%%%%%%%%%%%%.%%%.%%%%%%....%%%%,%.%%%..,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------.---------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,----------,,,,,,,,,-,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%.%%%%%%%.%%%%%%%%%%%%%,.%.%%%%%.%.%.%..%%.%%%%%%%.%%%%.%%%%%%%%%%%%%%.%%.%%%%%..,%%.%%%%%%%%%%%%%,%%%%%%%%%%%.~~..%%%..,,,,,,%%%%.%.%%%%%.%.%%%%%%%.%%%%%%%%%%%%,...%%%..........,..%%%%%%%%%%%%%%%%.%~~~~~~~~~~~~~~~~,,%%%%%%%%.%%%%..,%%%.,,,,,.%.%%%.%%%%%%%%%%%%%.%.%%%%%%%%..%%%%.%%%%%%,,.%%..%.%%%%%%%%%%%%%%%%....%%%%%%%%%%%%.%%...,,,,,..~SS....,,%%%%%%.%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%.%.%%%.%%,,,%%.%%.,..%%.%,,,,-----------------------------------,------------------------------------------------------------------------------------------------------------------------------------------,----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------,---------------.--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,,,,,,,,,,,,,-----------,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%.%%%%%%%%%.%%%%%.%%%%.%%%%..%%%.%%%%%...%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%.%%%.%.%%%.,,%%%%%%%%%%%%%%%,,,,%%..%%%%%~~~.%.%.%%%%%,,,%%%......%%....,,%%%...%.........,,,........,......,...%%%%.%%%%%%%%%%%.%.~~~~~~~~~~~~~~~,,%%%%%%%%.%%.%....%%%,,,,,,.%%%%%%%%%%%%.%%%%%%%%.%%%%%%.%%%....%%%%%..%.%%%.%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%%%%%%%.,,**~~***,,,%%%%%%%%%.%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%..%%%%%%%%%.%%%%%%%%%,%%.%%%%%,.%%%...,,,,,,-----------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------.--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,-----------,,,,,,,--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%.%%.%.%%%%%%%%%%%%%.%%%%.%%%%%%%.%%%%%%.%%%%%%%%%%.%%%%%%%%%%.%%%%%%.%%%%.%.,%%%.%%%%%%%%%%%%,,,,,..%....~~~~.%%%%.%%%%%,,%%.............,,%%..........................,.....,,...%%%..%%%%%%%%%%%%%.~~~~~~~~~~~~~~,,,%%%%%%.%%.%%%%.%.%,,,,,%.%.%.%.%%%%%%%%%%%%...%%%%%%%%.%%%%%%%%.%%%...%.%.,..%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%,,,,,~~-,,,,,.%%%%%%%%%%.%%.%%%%%%%%%%%%%%%%%%%%.%%%%.%%%.%%%...%%%%%%.%%..%%%%,%%%.%%%.%%.%.%%,,,,,,,--------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------,---------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,------------,,,,,,--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%.%%.%%%%%%%%%%%%%%%.%%%.%%%%%%%%%%.%.%%%%%%%%%%%%%%.%%%.%%%%%%%%%%.%%,%%%...%%%%%.%%%%%%%%%%%,,,,,%.....,.~~~...%.%%%%.%%%,..............,,,%................................,,...%%%,,,,%%%%%%%%%%..~~~~~~~~~~~~~~,,,.%%%%%%%%.%%%%%..,.%%%%%%%%%%%.%%%%%..%%%.%%%%%%%%%%%%%%%%%%%.%..%,..%%%%.,,%%.%%%%%%%%%%.%%.%..%%%%.%%.%%%%%%%%%%%%,,,,***----,,%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%.%%%.%.%%%.%%%%.%..%%%%.%%..%.%%%.,.%%%%%.%.%%%%%,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------.--------------------------------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,-,,,-------------,,,,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%.%..%%%%%%%%%%.%%..%%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%..%.%..,%%%%,,%%%%.%%%%.%%%%%%,,,,,,.............%%%.%%%%%%%...............,,,,.................................,,...%%,,,.%%%%%%%%%%%%%%~~~~~~~~~~~~,,,,%%%%%%%%%.%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%.%%%%%%%%%%%%%%%%%%%.%%%%..%.%.%.%%%.%..%.%%%%%%%%.%.%.%.%%%%%%%%,,%%%%%%.%..,----~----.%%%%%%%%%.%%%%%.%%%%%.%%...%%%%%%%%%..%%%%.%%%.%.%%%.%%%.,...,,.,,,%.%%%...%%%..,,,,,,,,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------.---------------------,-------------------------------..---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,--------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,%,%%%%%%%%.%%%%%%%%%%%%%%%%..%%%,.,,,%%%%%%%%%%%%%%%%%%%%%%%%%,%.%%%%%%%..%%%,,,,,,,,,,,%%%%%.%%%%%%.%%%%,,,,,,............,..%%%%%%%..,.,..........................%........................%%%.,,.%%%%%%%%%%.%%.%~~~~~~~~~~~~,,,,.%%%%%%%%.%%.%.%.%.%%.,.%.%.%%%%%%%..%%%%.%%%%%%%%%%%%%%%%,..%%.%,,%%%%%%.%%%%%..%,%%%%%%%%%%%%%%%.%%%%%%.%%%%%%.%..,,----~----,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...%%.%%%.%..%%..%%%.%%.%.,.,%%%,,,,,..%.%.%%%%%.,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------.------------------------------------------,-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,---------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%,,,%%%%%%%%%%%.%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%,%.%%%%%%,,%%%%%%%%%%%%%%.%,,,,,........,....,,,,..%.%%%%.i.i..,.......................%.......................%%%%%%%.,%%%%%%%%%%%%%%~~~~~~~~~~~~,,,,%%.%%%.%%%%...%%%%.%.%.,.%%%%.%.%.%..%%%%%%%%%%%%%%%%%%%.,,.%%%%%.,%.%.%%%%%%.%%%.,%%..%%%.%.%.%.%....%%.,,,.%.%...%,,--~~~----,%%%%%%%%%%%%%%%%%...%%%,%%%%%%%%%,%%%%%%%..%,%..%%.%.%%..%..%%%%,,,,.%.%%....%.,,,,,,,,,,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*~****$,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,i,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%.%%.%%%%%%%%.%%%%,%.%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%.%,,,%%%%%%%%%%%..%,,,,,,..............,,,.%...%%%.,,..................................................%%%%%.%%.,%%%%%%%%.%.%.%~~~~~~~~~~~~,,,,,.%%%%.%%%%%...%.%%%%%%.%.%.%,.%.%.%.%%%%%%%%%%%%%%%%%.%%.,...%%%%%%%%%%%..%.%%%%.,%.%..%.%%%.%%..%,%.%%.,,.%%%%%%%%,-~~~~~-----%%%%%%%%%%%%%%%%%%.%%%%,,%%%%.%..,%%%..%.%%.%%%..%%...%%%%..%%%%,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,---,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,--------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*~~****,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%..%%%%%.%%%%%%%%%%%%%%%%%,.%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%...,%%%%%%%%%%%.%%,,,,,................,%%.....%%%.,i...................................................%%...%%%%%.%%%%%..%.%%.~~~~~~~~~~~,,,,,%.%%%.%%%.%,..%%..%%%%.%%%%%..%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%.%%%%%.%.%%%%%%%.%%%.%%.%.%%%..,%%%%.%%%..%,%%%%.%%..%,~~~~~~~---,%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%,,,%%%%%%%%%%%%%%%..%.%.%%%%.%%%%%.,,,,,%%%%%%%%,,..,,,,,,,,,,,,,,,-,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,----------------------------------------,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*~~****,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%h%%.%%%%.%%%%%%%%%%%%%%%%.%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%.%%%%%%%%%%%%%%%%,,,,,.........,......%%......%...,,.........................................................%%%%%%%%.,%.%%%.,.~~~~~~~~~,,,,,.%%.%.%%%%%,,%.%%.%%%%.,..%.%%.%%%%%.%%%%%%%%%%.%%%%%%%%%.%%%%%..%%%%%%%%%%..%..%%%.%%%%...%.%%%%%%.%%...,%%%%.%%.%,,~~~~~~----,%%%.%%%%%%%%%%%%%%%.%%.,%%%%%%,,,%%.%%%%%%%%%%%%%%%%%.%%%.%....,,.,,,,.%%%.%%%%%%%%,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------.-------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,*****,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,%%%%.%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%..%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.%%%%%%%.%.%%%%%%%%%%%%%%,,,,,.............................i.........................................................,%%%..%%%%%%.%%.%..~~~~~~~,,,,,,%....%%%%...,%%%%%%.%%..%%%%%%%%%%%%%.%%%%%%%%%%%%%,%%%%%%%%%%.%%%%%%%%..%%%%%%%%%%%%.%%%.%%.%%%%%%.%%%%%%%%%%%.%%.%~~~~~------,%%%.%%%%%%%%%%%%%.%%%.%,%%%%%%%,,%..%.%%%%%%%%%%%%%%%.%%%.%%%.%%.%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,------------.----------------------------------------------.-------------------------------------------.------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%%.%%%.%%%,%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%.%%%%%.%%%%%%%%%..%%.%.%%%%%%%%%%%%%%%%%%,,,,,,............................,.........................................................%.%%.%.%.%%..%.%.%.~~~~~~,,,,,,,%%%%.%%%%.%.%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%%%%%%%%%%,.%%%..%%%%%%%%%%%%%%.%%%%%%%%%%.%%.%.%%%%%%%%%%%%%%%%.%%%%%%%%%.~~~~------,.%%%%.%%%%%%.%%%%..%%%%%,%%%%%%%%.%%%%%.%%.%%%%.%%%%%%%%%..,%.%.%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,-,,,-.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------.---------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-.-~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%..%%%%%,%%%%%.%.%%%%%%%%%.%.%.,.%%%%%%%%%%%%%%.%%%.%%%%,%.%%%%%%%%%%%%,.%%.%.%.%%%%%%%%%%%%%,,,,,,,,,.......................................................................................%%%%%%.%%%%.%%%%.,,,~~~,,,,,,,,%%%%%%%%%%.%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%%%..%%.,,%%%%%,%%%%%%%%%%%%.%%%%%%%%%%%%..%.%%%%%%%%%%%%%%%%%.%%%%%%%%.%~~~~,%%%,,,,....%..%%%%%%.%%..%%%.%,%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%.,.%%%%%.%%%%%..%%%.%%%%%%%%,,,,,,,---,,---,,,---.----------------------------------------------------------------------------------~~~~~~~----------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..%%%%.%%%%%%%%%%%.%%%%%%.%.%.%%.%%%,.%%%%%%%.,.%%%%..%%%%,,,%%.%.%..%%%,%%%%%.%%%%%%%%%%.%%%%%,.,,..,,,............................i............................................................%%%.%%%%%%..%%..,,,~,,,,,,,,,,%.%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%.%%%.,.,%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%%%%%%%%%%%.%.%%%%%%.%%,,%,%...%,,,.%..%%%%%.%..%%.%%.%%%%%%.%%%%.%.%.%..%%%%%%%%%%%%%%%.%%%.%%%%%..%%%%%%%%.%%.%%%%%%,,,,,,,,----------------.--------------------------------------------------------------------------------~~~~~~~--------------------------------------------------------.----------.--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------,-.----------------------------------------------------------------------,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%...%%%%%%%%%%%%%%%%%%%%%..,.%%%%.%%%%%%%%...%%%.%....,,,,%%%%%%.%.,,%%%%%.%%%%%%%%%%%%..%%%%.,..............................................................................................%%%.%%%%%%.%..%%.,,%%%%%,,,,,,%..%%%%%.%.%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%.%,%.%%%..%%%%%%.%.%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%%%%%%%.%%%%%%.%.%%%%%%%%%%%,,%%%.%%%.%.%%%.%.%.%%%%%%%.%%%%%%..%%%.%%%%.%%%%%%%%.%%%%%%%%%%%.%%%%.%%%.%.%%%.,..,,,..,,,--------------------.----------------------------------------------------------------------------~~~~~~~----------------------------------------------------------------.----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------.--------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%..%%%%%,%%%%..%%%%%.%%%%%%.,,...%%%%.%%%%%%%.%%.%.%.%%.,,%%%%%.%%.%.,%%%%%%%%%.%.%%%%%.%%%.%%,,..............................................................................................%%%%%..%%%%%%%,.%%%%%%%%.%%%%%%%%%%%%%..%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%..,,%%%%,,.%%%%%%..%.%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%.%%%.,%%%%.%%%%%%%%%%%%%%%%.%%%%.%%%%%..%%%..%%%%%.%%,%%%,%.%...%%%%%%%%%%%%%%%%%%%%%%...%.%%%%..%%%.%%%%,,,,%%...,,,--------------------------------------------------------------------------------------------------~~~~~~~-------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------,-------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------.-----------,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,---------,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%..%%%%%,.%.%%%%%%%%%%%%%%%.,%.%%.%%%%%%%%%%%%%.%.%.%.%.,,,%%%%%.%%%%%%%%%..%%%%%%%.%%%%%%%%%%,............%%%.%%.......%%.%%%%%..........,...................................................%%..%...%%%%%%,,%%%%%..,,%%%%%.%%%%%%.,%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%,,,,,...,.%%%%%%.%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%%%.%%%%.%%%%%%.%,,.,,%%%%%,%%%%%%%%%%%%%%.%%%.%,,,,%%.%%%%%,%%%.%%%,,,,,,,,%%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%.%.%%%%%,,,,%%%%.,,,---------------------------------.---------------------------------------------------------------~~~~~~~~-----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------.-------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.-----------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,-------,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%,.%%.%.%%.%%%%%.%%%%%%..%%%.,,.%%%%%%%%%%%%%.%%%%%.%.%%.%%%%%%%%%%,,...............%%........%.%%.%%%%.......................................................................%%%,,,%%%%%.%,%%%%%.%.%%%%%%,.%%%%%%%%%.%%,,%%.%%%%%%%%%%%%.%,,,,,,,,.%%%%%..%.%.%%%%%.%%%%,%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%,..,.,%%%,,%%%%%%%%%%%%%...%...,,.%%%%%.%%.,,,,,,,,,,,,,,%.%%%...%.%%%%%%%%%%%%%.%...%%%.%.%%%.%%%%..%%%%,..%%%..%%.-------------------------------------------,----------------------------------------------------~~~~~~~~-----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,S*,,,,,,,,,,-,,,,~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%.%%.%.%%%%%%%%%%%%%%.%%%%.%%%%.%%%%%.%%%%%%%%%%%%.%.%.,%%%%%%%%%%%%%.%.%...%%%%%%%%%%%%%.....,.........................%%%%.%%..............................................................,......,..,,,,,,%%.%%%.%..%%%%%%%%%%%%%..%%%%%%%%%%%%%%.%.%%..%%%%%%%,,,,,,,,,,%%%%%%.,.%%%.%%%%...%,,.%%%%%%%%%%%%.,%%%%.%%%%%%%.%%%%%%%%%%%%%,,.%%%%%%%%%%%%%.%%.%%,,,,,%.%%..%,,,,,,,,,,,,,%%%%%%%%%%.%%%%%%%%%%%%.%%.%%%%%.%%%%%%...,..%%%%%..%%%%.%%---------------------------------------------------------------------------------------------------~~~~~~-----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.-------------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%.%%%%%%%%%%%%%%%%.%%.%%.%%%.%%%%..%.%%%%%.%%%%%..%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%....,,,.,.......................%%%..%..................................................................,.,,..,,,,,,%.%%%%%%.%%%%%%%..%%%%%.%%%%%%%%%%%%%%%%%%.%%%%%%%%%,,,,,,,,,,.%%%%%%%%%.%%...%.%.%%.%.%%.%%.....%..%%%%%%%%%%%%%.%%%%%.%%%%%%%%..%%%%%%%%%.%.%%%.%%%,,.,,.%%%%.%%,,,,,,,,,,,,%%%%.%%..%%%.%%%%%%%.%.%%%.%%%%%.%%%%%%%.%%..%%%%%%%%.%.%%%.---.----------------------------------------,------------------------------------------------------~~~----------------------~~-------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%..%.%%%%%%%%%%..%%.%%.%.%,,.%.%%%%%%%%%%%%.%,,,.%%%%%%.%%%%%%%..%%%.%.%.%%..%.%%%......,,..........................%%.....................................................................,,,,,,,,,,,,%%.%%.%.%%%%.%%%%%%%%%%%%%%%%%%%%%%%.%.%.%%.%%%%%..,,,,,,,,,,,,%%%%%%%.%%%%.%.%..%%%..%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%.%%%%%%.%.%%%%%%%%%%%%%.%%%%..%.%%%%.%%%%%,,,,,~~~~~~~%%%.%.%%.%%%%%%%%%%%%%%%%%%%..%%%%%.%%%.%%%.%%%%%%.%%%%%%.%.--------------------------------------------------------------------------------------------------------------------------~~~~~-----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------,,,,,,,,,,,,,,,,,,,--------------,,,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%..%.%.%%%%%%%%%...%%%%%%%%.%.%.,.%..%%.%%%%%%%%%,,...%%%%%%%%%%%%%%.%%%%.%%%..%.,%.%%.....................................%....................................................................,,,,,,,,,,,,,%%%%.%%%%%.%%%.%.%.%..%%%%.%%.%%%%%%%%%%%%.%.%%..,,,,,,,,,,,,%%%%%%%%%..%.%.%%%%%%%%%%%%%%%%%%%.,,%%%%%%%%%%%%%%.%%%%%.%.%%%%%%%%%%%%%.%%%%%%.%%%%%%.%%%%%%%.%%%%,,,,,~~~~~~~%%.%%%%.%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%%..%%%.,%%%.%%%.%%%%.-----------------------------------------,---,-----------------------------------------------------------------------------~~~~~------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------.-------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------,,,,,,,,,,,,,,,,,,,----------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%.%%%%%%%%%%.%%%%%.%%%%%.%..%%%%..%.%.,%.%%%%%%%%%%%%%..%..%%%%%%%%%%%..%%,...%%%%%%.,.%%%..........,................................................................,...............................,,,,,,,,,,%%%%%%%.%%%%%.%%%.%%%%%%%%%%.%.%.%%%%%%%%....%%%%..,,,,,,,,,,,,,%%%%%.%%.%%.%,.%%%%%.%%.%%%%%%%%%,,%%.%%%%%%%%%%%%%%,,.%%%%.%%%%.%%%*%%%.%%%.%%%%%%%.%%.%%%%%%...%%%,,,,~~~~~~~~%%%%%%%%%%%%%%%...%%%%%%%..%.%%%%%%%%%%.%%%%%.,,%%%%.%%%%..---------------------------------------------------------------------------------------------------------------------------~~~~~-----------------------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------,,,,,,,,,,,,,,,,,,-----------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%..%%%%%%%..,%.%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%.,,,%%%..%%.%.%%%............................................................................................................,,,,,,,,,%%%%%%%.%%%%.%%%...%%%%.%%%%%...%%%%%%...,.,%%.%.%%,,,,,,,,,,,,.%%%%,,.%%%%%%%,%%%%%.%%%%%%%%%%h%%%%%.%%%%%%%%%%%,,,,%%,...,%.%.%%%%S***..%.%%%%%%%%%%.%%.%%%%%%%%%%%%,~~~~~~~~%%%.%%%.%%.%%%.%%%%%..%.%.%%.%%%%%%%.%%...%%%.%%%%%%%%%.%%%----------------------------------------------------------------------------------------------------------------------------~~~~~~------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,---------------------------------------------------------------,,,,,,,,,,,,,,,,,,------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%.%%%.%%%%%---.%%.%%%%%%%%%%.%%.%%%%%%%-~.%%%%%%%%%%%%%..%%%%%%%%%%%%%%.%%...%%%%%...%%........................%............................................,..........................................,,,,,,,,,%%%%..,%.%%%%%%%%%%%.%%.%%%%.%.%.%,,%.%%%%%%...%%%%.,,,,,,,,,,,.%.%%%,%%%%.%%%%%.%%%%%.%%%%%%%.%%%.%.%%%%%%%%%%%%.%.%%%,,,,%%%%%%%%%.***%%%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%~~~~~~~%%%%%%%%.%%%%%%%%%%%%.%%%%%.%..%%%%%%%%.%%%%%%%%%%%.%%%%%%%,--------------------------------------------------------------------------------------------------------,-------------------~~~~~------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,-----------------------------------------------------------------,,,,,,,,,,,,,,,-------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%....%%%%--%%%%.%%%%%%%%%%.%.%%%%%%%~~.%%%%%%%%%%%%%.%.%.%%%%%%%%%%%%%%.%%%%%%%...................,.........................................................,......................................,,,,,,,,,,%%%%%,,i%%%.%%%.%%......%%%%..%%%%.%%..%.%%%.%%%%%%%.,,,,,,,,,,,,%%.%%%%%.%.%.%.%%%%.%.%.%%%%%%%.%%%.%%%%%%%%%%%%%.%%%%%,,,%.%%%%%%%%...%%.%%%%%%%%%%%%%.%%%%%%%%%%%%%%%~~~~~~~%%%%%%%%.%.%.%%%%%%%.%...%.%%%.%%%%%%%%%.%%%%.%%%..%%%%%%%,,----------------------------------------------------------------------------------------------------------------------------~~~~~~-------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------.-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,----------------------------------------~~~----.-----------------,,,,,,,,,,,,,,--------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%.%.%%%%%.~~~--%%%%%%%%%%%%%,.%.%%%%%%~~~%%%%%%%%%%%%..%%%%.%%.%%%%%%%.%.%.%%%%%%.............................................................................,..................................,,,,,,,,,,,,,.%%%%,i,,.%%%%%.%%%%,.%..%.,,%.%.%%%%%..%%%.%%%%%%%%%,,,,,,,,,,,,.%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%..%%%%%%%..,,%..%%%%%%.%%...%.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%~~~~~%%%%%%%%%%%%%%%%%%%%,,.%%..%%%.%%%%.%%%%%.%%.%%%%%%%%%%%%%.,%%--------------------------.--------------------------------------------------------------------------------------------~~~~~~~~~~---------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,--------------------------------------~~~~~~---------------------,,,--,,,,,,,,,,-------------------------,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,%%%%%%%%%..%~~~~--%.%%%%%%%%.%%,%%.%%%%%~~~~%%%%%%%%%.%%,,.%.,,.%.%%%%%%..%%%%%%%%...................,..........................................................,.................................%,,,,,,,,,,,,i..%%%i,..%%..%.%%%.%,%%.%.%%..%.%%%.%.%%.%%%.%%%%%%%%,,,,,,,,,,,,,,.%%%.%%..%%%%%%%%%.%%%%%%%%%%%%%%,..%%%%%%%%%%%..%..%,,%%%..%%%.%.%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%~~~~~~%%%%%%%%%%%..%%%%%%,,,.%%%.%%.%%..%.%%%.%.%.%%%%%%%%%%%.%%%%%%-----------------------------------------------------------------------------------------------------------------------~~~~~~~~~-----------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,---------------------------------------~~~~~~~-------------------,,,----,,,,,,,,,,---------------------------,--~,,,,,,,,,,,,,,----,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,%%%%.%%%%%%%~~~~~~~%%%.%%%%%%.%.%%.%%%%%%~~~~%%%%%%%.%%%%%%.%%.,,,%%.%.%%.%.%.%%%%....................,...........................................................................................%%%,,,,,,,,,,,,.%%%%%,%%%%%..%%%..%%%.%.%.%i.%.%%%%%%..%.%%%%%%%%%%%,,,,,,,,,,,,....%%.%%%.%%%%%%%%..%%%%%%%%%%.%%%,,.%%%%.%%%.%%,%%%%,,.%%%.%.%%%.%%%.%%%,%%.%%..%%%%.%%%%%%%%%%%%%%%%~~~~~~%%%%%%%%%%%%%%%%%%%%%..%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%------------------------------.------------------------------------------------------------------------------------------~~~~~~~------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------,----,----------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------------------------------.----~~~~~~~~-------------------,-----,,,,,,,,,---------------------------------,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,.,,,,,,,,..,,,,,,,,,,%%%%%%%%%%%,--~~~~~.%%.%%%%%%%%%%%%%%%%%%~~~~~.%%%%%%%%.%%%%%%%%%%%%%%%%%%.%%..%%%%...................,.......................,....,...............................................................%%%,,,,,,...,,,,%%%%%.%%%.%.%.%.%.%%.%.%%%%i%%%%%%%%%%%..%%%%%%%%%%%,,,,,,,,,,,,,.%.%.%%.%%%%%%%%%%%%%.%%%%%%%%,,.,,,..%%%%%%%%%%%%%%%,,..%%%%.%%.%%%.%.%%%,%%%.%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.-------------------.--------------------------------------------------------------------------------------------------------~~-------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------,--------------.-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------------------------------------~~~~~~~-------------------------,,,,,,,,,--------------------------------,,,,,,,,,,,,,,,---,,,,,-,,,,,,,,,,,,,,,,,.%%%,,%,,,.,,.%%%%%%%%%%%%---~~~~~~%%%%%%%%%.%%%%%%%..~~~~~~~%%%.%%%....%%%%..%%%.%%%%%%%...%%%%%...............................................,.................................................................%%,,,,,,....,,,%%%%%.%%%%%..%.%%.%%%%..%%%%%%%%%%.%%%%%%%%%%%%%%%%%,,,,,,,,.,,,...%%%.%%%%.%%%%%%%%%%%%%..%%%%,.,,,,,.,,%%%%%%.%%%%%%,,.%%%.%%%%%%%%%%.%%%%,,,%.%%%%%.%%%..%%%%%%%%,.-~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------,-------------------------------.-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,---------------------------------------~~~~~~~----------------------------,,,,,---------------------------------,,,,,,,,,**,,,,---,,,,------,,,,,,,,,,,,..%%.%%%%,.%..%%%%%%%%%.%.,----~~~~~.%%%%%%...%%.%%%.~~~~~~~%%%,,%%%%%%%.%%%%%..%%%.%%%%%%,.,%%%%%.................,..........................,......................................................................,,,,,.....%%%%.%%%.%.%.%...%%%%%%%%.%%%.%%%%%.%%%%%%.,%%%%%%%%%%%,,,.%%..%%%,..%.%.%%%%%%%.%%%%%.%%%%...%%%.,,,,,..%%%%%%%%.%%%%%%%.%.%%.%.%%%%....,%%%%%%,%%%%%%%%%%%%%%%%%%%%%,,,--~~~~~~~~..%%%%.%%%%%%%%%%%%%,,..%%%.%%%%%%.%%...%%%%%%%%%%%%%%..---------------------------------------------------------------------------------------------------------------------------------------------.-----------------------------------.------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.------------------~---~--**----------------------------------.-------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------------------------------------~~~~~~-------.----------------------,,,,--------------------------------,,,,,,,,,,*-,,,,,-------------,,,,,,,,,,,,%%%%%.%%.%.%.%%%%%%%%.%%%%%%.-~~~~~%%%%%%%..%%%~~~~~~~~~~~~%%...%.%..%%..%%%%.%.%%..%%%%%,,,,%%%%%%%%.........................................,.................%.%.%..............................................%...%%....%%%%%%%%%%%%.%.%%..%.,%%%%%..,,.%%%%%.%%%%%%,%.%%%%%%%%..,,,%.%%%%%%%%%%.%%%%%%%%%%%%%%%%.%%%%%%%.,%%,,,%%%%%%%%,.,,,%%%%.%%%%..%,%%%.%..,,%%%%%%,%%%%%%%%%%%%%%.%%.%.,,.%.%.~~~~~~~-,%,.%%%%%,,.,,,,%%%%%%%%%%.%%%%%%%%%%.%%%%%%%%%%%.%%.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------~~~-~~~~~~--------,-----------------------------------.---------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------------------------------------------------------------------------------------------------------------,,,,,,,,-----,---------------,,,,,,,,,,,,,.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%-,,~~~%%%%%%%%~~~~~~~~~~~~~~~%%%.%%%%%%%%%.%....%%%%%.%%%%%,,,,,,%.%%%.%....................................,....................................................................................%%%%%%%%%%..%%..%%%,%%%%%%%.%%%%.%%.%%%%.%,%%.%%%%%%.%%.%..%%%%%%,%%....%%%%%%%%.%%%%%%%%%%%%%%%%%%,,,%%%%%%%,,,,,,,%%%%%%%%%%,,,,%%%%,~~~%%%%%,%.%%%%%%%.%%%%%%%%%%%%%.%%%~~~~~~~~,,,,%.%%%%,,i,,.%%.%%.%%%,%.%%.%...%%.%%.%%%%%%%.%%------------------------.----------------------------------------------------------------------------------------------------------------------~--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.--------------~~~-~~~~~~-------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-----------------------------------------------------------------------------------------------------------------,,,,,,,,-------------------,,,,,,,,,,,,,.%%.%%,%%%%%%%%%%%%%%%%%.%%.%.%.%%%%~~~%~%%%~~~~~~~~~~~~~~~~%%.%.%.%.%,%%%%%%%%%%%.%.,%%%,%%%,,,,.%%%%...........................................................%.%................................................................%%%%%%%%.%.%.%.%.%%%%%%.%.%.%%%%%.%%%.,%.%%%%%.%.%%%%%%%%.%%%,,,.%%%%%%%%%%%%%%%%%%..%%%%%%.%%%,,,,,,,,,,--,,%%%%%%%%%.%%%,,,..,,,,~~~~~,,,,%%%%%%%%%%%%.%%%%%.%%%%.%%%--~~~~~~~,,,,..,,,,,,,,.%%%%%%%%%,%%.%%.%..%,,%.%%%%%%%%%%-----------------------------------------------------------------------------------------------------------------------------------------------~~~------------------------------,------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------~~~-~~~~~~~----------------------,-,------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--------------------------------,---------------------------------------------------------------------------------,,,,,,--------------------,,,,,,,,~~~~~~.,,,,.%%%%.%%.%%.%%%%%.%..%%%..,%%%%~~~~~~~~~~~~~~~~~~~~~~,..%%%.,,,,,%.%%%.%.%..%%.,,,,%%%%%%%...................................................................................-.........................................,......%..%.%%.%,.%%%%%.**%%%%.%%%%...%%%.%..%%.%%%%%%%%%%%%%%.%%%%%,%%%%%%%%%%%%%%%%.%%%%.%%%%.%%%%%%,.,,,,,,~~----%%%%%%.%%%%%.,,,,,,,,~~~~~~~,,,,%%%.%%%%%%.%%%%%%%%%%%%.%%---~~~~~~~,,,,,,,,,,,,,%.%...%...%%%.%%%.%%%.%.%%%%%%%%%%%---------------------------------------------------------.----------------------,--------------------------------------------------------------~~~-------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------~--~~~~~~*-------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,------------------------------------------------------------------------------------------------------------------,,,,,,-------------------,,,,,,,,,~~~~~~~~~,,%%%%%.,%%%%%%%%.%%%%%.%.%.,%%%%~~~~~~~~~~~~~~~~~~~~.%%%%.%%%.,,,,%%.%%%.%%%%..%,,,,%%.%%%%.............................................,.....................................................................,.................%.%.%%%.%.%.%%%.**%.%%%%.%%%..%..%.%%.%%.%,%%.%%,%%%%.....,.%%%%%%..%%.%%%%%%%.%.%%.%%%.%%%%%,.,,,,,,~~~~~~-%%%%%%%%%%%%%.,,,,,,,~~~~~~~,,,,,%%%%,,%%%%%%.%%%%%%%%%%%.%%.%~~~~~~~-,,,,,,,,,,,%%%%.%%%%%.%%..%%%%%%%%%%%%%%%%%%%%-----------------------------------------------------------------------------------------------------------------------------------------------~~~-------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------~~~~~~-------------------------------------------,-------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------,-------------------------------------------------------------------------------------,,,-------------------------,,,,.~~~~~~~~~,%%%%%%%%%%%%%%%%%%%%%..%.%%.%%%%~~~~~~~~~~~~~~~~~~~.%.%.%%.%%,,,..,...%...%%%%%,,,,,%....%...................................................................%...........................................................,,...,%%%%%.%%%%..%%%%..*.%%%,%%.%%%%.%%%%%..%%%%,%%%%,.%%%%%,.%%%.%%%%%%%%%%%%%%%%%%%%%.%%%%%.%%%%%%,,,,,~~~~~~~~~%%%%%%%%%%%%.%..,,,,~~~~~~~~~,,,,%..%..*%%%%%%%%%%%%%%%%%,%.%%%.~~~~~~-,,,,,,,,,..%%..%%%.%%%%%%.%.%.%%%%%%%%%%%%.%%---------------------------------------------------------------------------------------------------------------------------------------------~~~~~--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------~~~~~~~------------------------,--------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------------------------------------------------------------------,--------------,,,,,~~~~~~~~~.%%%.%%.%%%.%%.%%%%%%%%%%%%%%%.%%.~~~~~~~~~~~~~~~~~~.%%%%...%%.%%.%%..%%%%.%%,,,,,,,.....................................................................................................................................,,....,%%%%%.%%%%***..*.%%%%%%.....%%%.%%%%%...%.%.%%%%%.%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,~~~~~~~~~~%%%%%%%%%.%.%.%.,,,~~~~~~~~~~,,,,%%.%.%.%%*,%%%%%%%%%%%..%%%%%%%%%%~~~~,,,,,,,,,.%.....%%%%%%%%%%.%%.%%%%%%%%%%%%%%%-------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~-----------------------------------~~~~~~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------~~~~~~~-----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.--------------------------------------------------------------------------------------------------------------------------------------------,,,,-~~~~~~~~~.%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%..%.%%%~~~~~~~~~~~~~.%.%%..%%%.%%%.%.%.,.,,.,,,,,,,,....................................................................................................................................,......%%%%.%%%%%%.****.%%%%.,%%%%...%%%%%..%.%%%%.,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,~~~~~~~~~~~-%%%%%....%%%%.%%~~~~~~~~~~~~,,,%%%%%.%.%**%%%%%%%%%%..%%%%%%%%%.%.~~~~~~~,,,,,,,....%.%.%%%%%.....%%..%%%%%%%%%.%--------------------------------------------------------------.------------------------------------------------------------------------------~~~~~~----------------------------------~~~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------*~~~~~~~----------------------------------,-------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------,,--.~~~~~~~~,.%%%%%%%%%%%%%%%%%.%%%%%%%%%.%.%%..%%%%~~~~~~~~~~~~~~%%%.%%..%%%%%%.%%,,,,,,,,,,,,,.......................................................i....................................................................,.............%%%%%%%%%%%%.*.%%..%%%%..%%%.%.%%%%%.%%.,.,,.,,%%%%%%%%%%%%.%.%%%%%%%%%%%%.%%%%%%..%..%%%%%%%%%%%,,,~~~~~~~~~~~~~.%%%%.%%%.%%%.%%%.~~~~~~~~~~,,,.%.%%%%%%**%%%%%%%%%%.%%%%%%%%%%%%~~~~~~~~~~,,,,,,,,-.%.%%%%%.%%...%%%%%%%%%.%%%%%------------------------------------------------------------------------------------------------------------------------------------------------~~------------------------------------------~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------~~~~~~--------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,------------------------------------------------------------------------------------------------------------------------------------------.-,---.,.,,,,,.%%%.%%%%%%.%%%%%%%%%%%%%%%,%..%%%..%%%%~~~~~~~~~~~~~~.%.%%%...%.%%%.%%%%%%%%,,..,............................................................................................................................................%%%%%.%%%%.%%.%.%.%%%%%.%...%%%%%%%%%.%%%%.,,%%%%%%%%%%%%%%%%.%%%%%%%%%.%%%.....,.%.%%.%%%%%%%%%,-,,~~~~~~~~~~~~~.%%%.%.%%%.%.%%%%.~~~~~~~~~~~~,,.%.%%%.%%*%%%%%%.%%%%%%%%%%%%.%.%.~~~~~~~,,,,,,,,,,--~.~.~%%%%.%...%%%%%%%%%%%%%%--------------------------------------------------------------------------------------------------------------.---------------------------------------------------------,--------------------~----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~----------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------------------------------------------------------------------------------------------------------------------------------------,---,----,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%.%.%%%%.~~~~~~~~~~~%%%%%,...%%.%%...%%%%%%%%,,....,......................................................i....................................................................................%%.%%%%%%%%.%.%%..%.%%-~~%.%%%%%%%%%%%%%...%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%.%%.,..%.%.%%%%%%%...%%%%~~~~~~~~~~~~~~,.%%..%%%..,%%%%%~~~~~~~~~~~~~~~%%%.%.%%%%**%%%%.%%%%%%%%%%%%%..%~~~~~~,,,,,,,,...---~~~~~%%..%%%%.%.%.%.%..%%%%%-----------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------~------------~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------------------------------------------------------------------------------------------------------------------------------------------,,,--,,,,,,,%%%%%%%%%%%%%%.%%%%%%%%%%%%.%.%%%%..%%%%%%%,,~~~~~~--%%%%%,..%%%%...%%%%%%%%%%...,.....................................................................................................................................,.........%%%%.%%%%%%%%%.%...-.~~~%%%.%%%%%%%%%%.%%%.%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%.%%%%,%%%%....%%%%%%%%%%~~~~~~~~~~~~~~-,%%%%.%%%%..%%%~~~~~~~~~~~~~~~~%%.%..%%%%***%%%%%%%%%%%%%%..%%%%%~~~~-%%%,,,,.%%%%--~~~~~%%.%%%.%%.%.%%%%%%.%%,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------~~~~~~~~~~~~~~~~~~~~-~~~~-----------~~~~~~~~~~~~~~~~~~~~~~~------------------.---------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------------------------------------------------------------------------------------------,---------------------------------,----------,,,,,,,,,,,,%%...%%%%%%%%%%%%%%%%%%%%%%%%.,%%%..%.%.%%..%%%%-----%%%%%%.%.%%%%%%%%%%%%%%%%%,.....,..................................................i...........................................................................,.............%%,%%%%.%%%.%%%%%-~%~~~%%.%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%..%%%.%..%%%.%.%.%%%.%%%.%%%%%%%%%%%%%%~~~~~~~~~~~~~~-,,.,%%.%%%.,,,.~~~~~~~~~~~~~~~~~~--.%%%,,,,%%%%%,,%%%%%%%%%%%%%%%~~%%-%%%%%,,%%%%%--.%%%%%.%%%%%%%%%%,,.,.%%%%,,,----,-------------------------------------------.----------------------------------------------------,-----------------------------------------------------------------------------------------.----------~~~~~~~~~~~~~~~~~~~----~~---------,-~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%.%%%..%%%..%%%%%.%%-%%%%.%%%%.%%%%%%.%%%%%%%%%.,...,......i..........................................i.....................................................................................%%%%..%%%%%%%.%%%%%.%%.%%%%%%%.%%%%%%%%%%%.%%%%%%%%%%%%%..%%%%%%%.%%%%%%%%%.%,.%%%%%%%.%%%%%%%%%,%%%%.~~~~~~~~~~~~~--%%.,.%%.%%%%,,~~~~~~~~~~~~~~~~~~~~-%%%%,,,,%%%%%%%.%%%%%%%%%%%%.%%-%%%%%%%%%%.%%%%.,%%%%%%%%%.%.%%%%%,%%%%.%%%%,,,,,,,,,,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~-------------------~~~~~~~~~~~~~-------------------------,----------------------------------------------------------------------------------------------------~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------,-------------------------------------,----------------,%%%%%,,,,,%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%.%%%%%...,%%%%%.i%.%%%%%%%,,,..,,,.....................................................................................................................................%%%.%%%%%%%%%,.,...%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%.%.%.%%%.,%%%%%%%,,,%.%..~~~~~~~~~~~~%%%%%%,%%%%%%.%.~~~~~~~~~~~~~~~~~~~~~~.%%%,,,,%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%...%%%%%%%%%%%%%%%%%%%%..%%%%..,,,,,,,,%%%.-------------------.---------------------------------------------------------------------------------------------------------------------~~~~~~---------------------------------------,---------------------------------------------~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------^^^----------------------------------------------------------------------------%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%......,%%%%%%%%%%.%%%%%%%%%%%%%%%%%%.,,,.i,%%%%%..,...........................................................................................................................................%%.%%%%%%%%,,,,.,%%%%%%%%%%%%%%%%%.%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%.%%%%%%%%%%%%%%%%%.,.,,%%%.~~~~~~~~~~~~%%%%%,,%%%%%%%.,~~~~~~~~~~~~~~~~~~~~~.%%%%%,,,,%%%%%%.%%%%.%%%%%%%%.%.%%%%%%%%%%%.%%%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%,,,,.,,,%%%%%,-----------------------.--------------------------------------,------------------------------------------------------------------------~~~~~~~----------------------------------------------------------------------------------------~~~~---------------------------------------.-----------------.--------------------------------------------------------------------------~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------^^^-------------------------------------------------------------------,,,,-,,,,%%%.%.%%%%%%%%%%%%%%%%%%%.%.%%%%,%%%%%%%%%%%.%..,,,,%%%%.%.%%%%.%%%%%%.%.%.%%,,,,,,,,,%%%%%,,....................................................................%..%%.............................,............,i...,.....,.............%%%%%.%%%%%.,,,,,%%%.%%.%%%%%%%%%.%%%.%%%.%%%%%.%%%.%%%%%%%%%.%%%%%.%%%%%%%%%%%..%%.%.%%%%%%,.,,%%%%~~~~~~~~~..~-.%%%%%,%%%%.%.%..~~~~~~~~~~~~~~~~~~~~~~%%.%,,,,,,.....%%%.%%%%%%%%%%.%%%%%%%.%%%.%...%%%%%%%%%%%%%%%%%%%%%%.%%%.%,,,,%%%,,%%%%%,-------------------------------------.-----------------------------------------------------------------------------------,-------------~~~~~~~-------------------------------------------------------------------------------------------------------.--------------------------,-,--------------------------------------------------------------------------------------------~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------.--------------------------^^*-------------.-------------------------------------------------------,,,,,.,,%%%%%%.%%%%%%%%%%%%%.%.%%%%%~~~~~%%%%%%%%,.%%%%%,,,,%%%.%.%%%%%%%%%%%%%%%.%%%%%,,,,,,,,%%%%,,..............................................................................%%...................................,...i.,.,...............%%%%%,.%%%%%,,,,,%%%%%%.%%%%%%%.%%%%%%%%%%%.%.%%.%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%..%,,,,%%%.~~~~~~~.%%%%.%%.%.%,%%%%%%%..%%~~~~~~~~~~~~~~~~~~~~~~,,..,,,,,%....%%.%%%%%%%%%%%%.%%%%%%%%%%.%%%%%%.%%%%%%%%%%%%.%%%%%%%%%%%%.,.%%%%%,%%%%%--------------------.-------,---.------------------------------------------------------------------------------------------,-------------~~~~~~~---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------^*^^^-------------------------------------------------------------------,,,%.%.,.%..%%%.%%%%%%%%.%%.%%.%%%%.~~~~~~%%%%%%,,,%%%%.,,,,%...%%.%%%%.%%%%%.%%%%%%%%%,,,,,,ii,..,,,..........................................................................................................,,.,....,.....i..,i.............%%%%%%%%%%%%%,,%.%%%%%%%%%%%%%%%%...%%%%.%%%%%%..%%.%%%%%%%%%%,%%%%%%%%%.%%%%%%%%%..%.%%%%.%%%,,,,--.~~~~~~~.%.%%.%.%%%.,,,,,,,..%%.%~~~~~~~~~~~~~~~~~~~~~~.,-,,,,,..%%%%.%..%%%%%%%%%%%%%%%%%%%%%.%.%%%%%.%%%%%.%%%.,%.%%%%%%%%%%%%%,.%%%%%.%%%%%.-----------------------------------------------------------------------------------------------------------------------------------------~-~~~~---------------------------------------------------------------------------------------------------------------------.------------------,------------.----------------------------------------------------------------------------~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------^^^^--------------------------------------------------------------------,,,%%%%%.%%%%%%.%%%.%%.%%%%%%--%%%%~~~~~~~~~%~~~,,,%.%.%.,,..%%%.%%%%%%%%%..%.%.%%%%%%,,,,,,i,,,,.................i....................................................,....................................,...........,......................%%%%%%%%..%%%,.%%...%%%%%%%%%%%%.,.%%%%%.%.%%%%%..%.%%%%%%%%.%,i%.%.%%%%,,%%%%%%%%%%.,%%%%%%%,,.,,,%%~~~~~~~.%%%%.%%%%%%,,,,,,,.%%%%%.~~~~~~~~~~~~~~~~~~~~~,,---,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%..,.,,,%%.%%..%%%%.%%%%%%%%%.%--%.---------------------------------.-----.----------------------------------------------------------------------------------------------~~~~~~~--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,-------------------------------------.-----------------,----^----------------------------------------------------------------------,,%%%%%.%%%..%%%%%%%.%%%%%.%.-.-~~~~~~~~~~~~~~~,,..%%%%,%%.%.%%%..%%%.%.%%.%%%%%%%%%%%%,,,,,,,,,...................%..........................................................................................................................%%%%.....%%%.,.%%%%%%%.%%%%%%%%%%%%.%%%.%%%%..%...%%%%..%.%%%%%%,%.%%%....,%%%%%%%%%%,%%%%%%,.%%%%%%%%%~~~~~~..%%%%.%%..,,,.,.,,%.%.%~~~~~~~~~~~~~~~~~~~~~~,-----,,,%.%%%%.%%.%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%..%%.%%,,,%%%%%%..%.%.%.%%%.%%%%%--%%%-------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---------------------------------------------------------.-*---------------------------------------------,----------------------,,,,,..%%%.%%.%.%.%%%%%%..%%%%%%%---~~~~~~~~~~~~~~~---.%.%%%%.%%%%%.%..%%%%%%%.%%%%%%%%%%%,,,,,,%%%,...................%%.........................................................................,.................................................%.......%%%..%%%%.%%%%%%%%%%%%%%%%%.%%.%%.%%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%..,.,,%,%%%%%%.%%%%%%~~~~....%%%%%%%%%,,%%%%%%%%.%%~~~~~~~~~~~~~~~~~~~~~~,-----,,.%.%%%%%%%%%%.%%%%%.%%%%%%.%%%%%%%%%%%%%%%%%%%.%.%.%.,,%%%%..%..%%.%%%%%,%%%%%,.%%%---------------------------------------------------------------,---------------------------------------------------------------------~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---,---------------------~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------,---------------------------------------------------------------------------,,,,.%%%%.%%%%%%.%.%%%%%%%%%%%%.%.--~~~~~~~~~~~~~~~----%%%%%.%%%..%%%%%%%%%%%%%.%%%%%%%%%%,~,,,%%%%%%..................%%...................................................,.............................................................................%%.%%%%%%%%%%%%%%%%%%%%%.%%%%%..%%%%%.%%%%%%%%%%,%%%%%%.%.%%..%%%.%.%%%%.,,,,,%%%%%%%%..%%%%%%%%~~.%.%%%%....%%%...%%%.%.%...~~~~~~~~~~~~~~~~~~~~~,,----,,,%%%%%%%%%%.%..%%%%%.%%%%.%.%.%%%%%%%%%%%%%%%%%%%%.%..,.%%%.%%%%%%%%%.%.%.,%%%%...%%--------------------------,---------------------------------------------------------------,------------------------------------------~~~~~~~------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------,,,...%%%%%%.%..%..%%%%%%%%%%%%%---~~~~~~~~~~~~~~~---.%%%%%%.%.%...%%%%%%.%%%%%%%%%%%%%%%~~~~..%%%%%...i..................................,..........................................................,................%..................................%.%%%%%%%%%%%%%%%%%%%%%.%.%%..%%%.,.%%%%%%%%.%%%%%.%%%%..%%%...%%%.%%%%.,,,.,%%%%%%.%..%%.%%%%...,%%.%.%.%%%%,.%.%%%%.%%%%.,~~~~~~~~~~~~~~~~~~~~~,,,---,,,,%%%%%%%%%%%%.%.%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%..%%%%%,,.%%%%%%.%.%.%%.%%,%%%%%%%%%-------------------------------------------------------------------------------------------------------------------------------,---,---~~~~~~-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------,--------------------------------------------------,,----,,---,,,..%%%..%%%%%.%%%%%%%%%%..%%.----~~~~~~~~~~~~~~~--%%%%.%%.%%%%%%%.%%%....%%%%%%%%%%%%%~~~....%%%%...................%...........................................................,.......................................................................%%.%%%%%%%%%%%%%%%%.%%%..%...%%%%.%.%%%%%%%%%%%.%%%%%%,%.%.%.%.%.%....%,.,,%%%%%..%.%%.%%%%%%%%%%%.%%%.%%%%%.,%.%%.%%%%%.%,.~~~~~~~~~~~~~~~~~~~,,-----,,,.%%%.%%%%%%.%%.%.%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%.%.%%.%%%.%%%,...%%.%%%%%%%%-----------------------------------------------------------------,-------------------------------------------------------------------------~~----------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------------~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------------------------------------------------------------------------------------------------------------------,,,,-,,,,--,,,,.%%.%..%.%.%%%%%%%%%%%%%%%,%%%.~~~~~~~~~~~~~~~--%%%%%%%%..%%%%%%%%.%%.%%%,%%%%%%%%%~~~~......................................................,.,..............................,,..............,.........................................................%%%%%.%.%%%%%%.....%.%.%%.%.%.%%%%%%%%%%%%.%%%%%%%%%.%.%%%.%.%%%%%%%.%%.,.,....%%%%..%%%..%.%%%%%.%.%.%%%%.,.%%.%%%%%%%%.%%~~~~~~~~~~~~~~~~~--,--------.%%%%%%%%%%%.%%..%%%%.%%..%%%%%%%%%%%.%%%%%%%%%%%%%%%%%.%%%.%%%%%%,%%%%%%%%%%%%%%%%.------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-----------------------------------------------------------------------------------------------------------------------,,,,,,,,,,,,,,.%%%%.%%%%%%.%%%%%%%%%%%%%.%%%%~~~~~~~~~~~~~~~--%%%%%%%%%%%%%%%..%%%.%.%.%%%%.%%%%%~~~~........................................................................................................,.,.....................................................%.%%%%.%%%%%%%%%%.%%%%%.%%%.%.%%%%%%%%.,,%.%%%.....%%%....%%,.%%%%%%.%%%,%.%.%%..%%.%%.%.%.%%%%..%.%...%%%%%%.%%.%%%%%%%%..%%,,~~~~~~~~~~~~~--,,---------%%%%%%%%%%%%.%,,,,%%%%%%%%%%.%%%%%%.%%%%%%%%%%%%%%%%%.%%%%.%%.%.%%%%%%%%.%%%%%%%%%------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------~~~-----------------------------------------------------------------~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-----------------------------------------------------------------------------------------------------------------------,,,,,,,,,,,,,,,.,..,,%.%.%%%%%%%%%%%%%%%.%%%%~~~~~~~~~~~~~~---%.%%%%%%%%%%.%%%%%.%%%%%%%%..%%%%%~~~~~~...............................................,.....,,,.............................,............,....,.....................................................%%%%%%%%%.%%%%.%%%.%%%...%.%%,,.%%%%%%%%%,%%%%%%.%.%%%%....%%%%%%%%%%.%%%%,%%%%%%...%%%%..%%%%%%%%%%%.%%%%%%%%%%.%%%%%%%%%%%%%%,,,,~~~~~~~~~----,----------.%%%%%%%%%%%%%.%.%%%%%%%%%%%%..,.,,,%%%%%%%%%%%%%%%%%%....%....%%%%%%%%%%%%%%%%%%%------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~-----------------------------------.--------------------------,-----~~~~~~-------------------------------------~-------------------------~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------------------------------,,,,,,,,,,,,,,,,,..,.%.%.%%%%%%%%%%%%...%%%%.~~~~~~~~~~~~----%%%%%%%%%%%%%.%%%%%%.%%%%%%%%%%%.~~~~~~~...............................................,...................................,..,...................................................................%%%%%%.%%%%%%%%%.%%%%%%.%.%%%%%..,%%%%.%%%%..%%%%%%%%%%%..%%.%%%%%%%%%%%%%%%%...%%%.%.%%.%..%%.%.%...%%%%%%%%%..%%%%%%%%%%%.%%%,.,,,,,,~~~~~~~,,--------------..%%%%%%%%%%%%%%%%%%%.%..%.%%%....,,%%%%%,,%%%%%%%%%%%%.%.%.%.,.%.%%%%%%%.%%%%%%%%------------------------------------------~-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~--------------------------------------------------------------------~~~~~~~-----------------------------------~~-------------------------~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,------------------------------------------------------------------------------------------------------------------------,,,,,,,,,,,,,,,,%%%%%,....%.%%%%%%%%%.%%%%%%%%%.%.~~~~~~~-----%%%%%%%%%%%%%%%%%%%%%%.%.%%,,,~~~~~~~~~~.............................................,............................................................................................................%%.%%%%%%%%%%%%%%%%%%%%.%%.%%%%.%,....%%%%.%%%%%%%%%.%%.%.%%%%%%%%.%%%%%%%%%.%%%%%%%,,,,,%%%.%%%.%%...%%%%%%%%%%%%%%%%%%%%%%%%%.,,,,,,,,~~~~~,,,---------------..%%%%%%%.%%%%%%%.%%%%%%%%.%%%%%,,,%%%%.%%%%%%%%%%%%%%.%%%%%%%%%%%.%%%%.%%%%%%%.%.------------------------------------~~~~~~~---------------------------------------,--------------------------------,---------------------------------------------------------------------------------------------------------------~~~~~--------------------------------------------------------------------~~~~~~~--------------------------~~~~~-----~------------------------~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,-----------------------------------------------------------------------------------------------------------------------,,,.,,%%%%,,,,,,%.%%%%%..%%%.%.%%%%%.%%%%,,,%%.%%.%%%~~%,,,-,,%%%%.%%%%%%%%%%%%%%%.%%%%%%%,~~~~~~~~~~...............................................,.,...............................,..,.,..................................,.................................%%%%.%.%%%%%%%%%%%%%,%.%%%%..%%%.%%%.%%.%%%.%%%%%%%%%%%%.%%%%%%%%..%%%%%..%%..%%%.,%,i.%%%%%%%%,.%%%..%%%%,,%.%%%.,%%%..%%%%%%%%%%%%,,,,,,,,,,,,--------------------%%%.%%..%%%%%%%%%%%%%.%%%%.,,.%%%%%%%%%%%%%%%%%%%%%.%%%%%.%.%,%%%%%%%%%%%.%%-----------------------------------~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~--------------------------------------------------------------------~~~~~~--------------------------~~~~~~~----------------------------~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,--------------------------------------------------------------------------------------------------------------------------,%%%%%,..,,.%%%.%%%.%%%%%.,,%%%%%%.%.%,%.%%%%%%%%%%%%.%%%%%.%%%%%%%%%%%%%%.%%%.%.%%..,~~~~~~~~~~~.......................,.......................,............................................................................................................%%..%%%%.%%%%.%%%%%%.%%%%....%.%..%.%.%%%.%%%%%%%%%%%%%%..%%%%%%%.%%%%.%%.%%.%%..,,.,%%%%%...%%%.%%%%%.,,%%%%%%..,%%.%%%%%%%%%%%%%%%,,%%%,,,,-----------------------,.%%%%%%%%%%%%%%%%%%.%.%.%%%,%%%%%%%%%%%%%%%%%%..%.%%%,%%%%%..,--%%%%%%%%%%%----------------------------------~~~~~~~~~---------------------------------------------------,---------------,--------------------------------------------------------------------------------------------------------------------~~~~~--------------------------------------------------------------------~~~~~~--------------------------~~~~~~~---------------------------~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---------------------------------------------------------------------------------------------------------------------------------%%%%%.%%.%..%%%%%..%%%.%.,,,.,...%%%%.%.%..%%%%%%%%%%.%.%.%%%%.%%%%%%%%%%..%%%.%%%%-~~~~~~~~.~.........................,.........................................................................................,...,...,..,....................%%.........%%%%%%.,,,%.%%%%%%%.%.%%%.,%.%%.%%%%.%.%.%%%%%%%%%%%....%.%.%.%%%.%%%%%%%%.%%%...,,,%%%.%%.%%.%.%%%%%%,,%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%..----------------------,%.%%%..%%%%%%%%%%....%%%.%%,%%%%%%%%%%%%%.%%%..%%%%%,,%.%.%.,----%%-%%%%%%------------------------------------~~~~~~~~~-----------------------------------------------------.-----------------------------------------------.---------------------------------------------------------------------------------~~~~~---------------------------------------------------------,----------~~~~~~-----------------------------~--~-~~-----------------------~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,---------------------------------------------------------------------------------------------------------------------------------%%%%%.%.%..,%%%%%%%.%%%.,.%..%%%%.%.%.%%..%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%...%.---~~~~~~~~~~......................................................................................................................,....................,.,.%%%%%%%%%.......%%%%%%%.%%%..%%%%%%%.%%.%,.%%.%%,%%%.%%%..%.%%%%%%%%%%...%%.%%%%%%.%%%%%%%%%%..%%...,..%.%%%..%%%%%%%%%%%%%%%%%%%.%..%%%%%%%%%%%%%%%%%%%%.%.%.----------------------%.%%.%%%%%.%%.%%%..%%%%..%%%....,%%%.%.%%%%%%%,,,.,,,,,,%%%%%,,,-----%%%%%%%-------------------------------------~~~~~~~~~~------------------------------------------------------------------------------------------------------------------------------------------.----------------------------------------------~~--------------------------------------------------------------------~~~~~--------------------------------~~~~~~~-------------------~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,---------------------------------------------------------------------------------------------------------------------------------%%.%...%%%%,%%%%.%%..,.,%%%%%.%.%.%%.%%.%%%%%%%%%%%%%%.%.%%%%%%%%%%%%%%%%......--~~~~~..~~~~.............................,................................................................................,.......,....,..............%.%.%%%%%.%%%........%%%%%%%%%%%%%%%%%%%%%..,,%.%%%%%%%%%%..%%%.%%%%%%%.%.%%%.%.,%%%,,%%%%%%%%%%%%%,..%%%%%%%%%%%%%..%%.%%%%..%,%%..,%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%----------------------%%%%.%.%%%%,,,,%%.%.%.%.%%%%%%.%%%%%%%%%%%%%,.,,,,,,,,,,,....,,,------%%%----------------------------------------~~~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~-------------------------------------------------------------------~~~~~--------------------------------~~~~~~~------------------~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,----------------------------------------------------------------------------------------------------------------------------------.%%%%%%%.%,,%%%%%%%%.,,%%.%.%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%,,%%%......-~~~~~~...~~~................................................................................................................,..........................%%..%%%%%.%%.......%%%,,%%%%%%%%%%%%%%%%%%.%%%%%%%%%....%%%%%%%%%%%%..%.%%%%%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%..%%%.%.%%%%%%%.,,,..,.%%..%.,...%%%%%%%%%%%%%%%-------------,---.--%%%%%%%%%.%,,.%%%.%%%%.%%%%%%.%.%.%%%%%.%%%,,,,,,,,~~~~,,,,,,,,,--------%-----------------------------------------~~~~~~~~~~--------~~------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~----------**-*-*-*----------------------------------------------------~---------------------------------~~~~~--------------------~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,---------------------.------------------------------------------------------------------------------------------------------------.%.%.%%%%%.,,,%%%%%%%%%.%%%%%%%.%.%%%%%%%%.%%%%%%%.%%%.%%%%%%%%,....~~.........%~~~~~....~~~...............................................................................................................i...........,..............%%%%,%%%%%%%%...%..%.%%%,%%%%%.%%%%%.%%%%%%.%.%%%%%%%%%..%%%%%%%%%%%%%,,,%%.%%%%,,%%%%%%%%%%%.%%%%%%%.%%%%%%%.%%%.%%%%.%%%%....%.%%%%.%%.%.%%%%%%%.%%%.%%%.%%%%%%%%%%,----------------%%%.%%%.%%.%%%,,,%%%%%%%.%%%%,,.%%%..%%%%.,,.,,,,,,~~~~~~~~~,,,,,,---------------------------------------------------~~~~~~~~~~-----~~~~~~---.----------------------------------,--------------------------------------------------------------------------,-----------------------------------------------------------~~~~-------*--***---*---------------,----------------------------------------------------------------------~~~~~-------------------~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,,,,-----------------------------------------------------------------------------------------------------------------------------------.%%%%%...,.,,,%%%%%%%%%%%%%%.%%%%.%%%%%%.%%%%%%%%%%%.%%%%.%%%%%,...............%~~~~~.....~................................................................................................................,....,.....................%%%%.%%%%%%%..%,%%%%.%.%,,%%%%%%%%%%%%%%%%.%%%%%%%%%.%%%%..,%%%%%%%%%%,,,,...%%%.,,,,%%.%%%%%%%%%%%%%.%%%%%.%%.%.%%%%%,%.%%%%%%%.%%%%.%%%%%%%%%%%%.%%.%%%%.%.%%%.%%%%%%--------------%%%%...%.,%%%..%,,%%%%%%%%%.%%,.%.%%%,.%%%%..,%%%,,,~~~~~~~~~~,,,,,------------------------------------------------.---~~----~~-----~~~~~~~------------------------------------------------------,-----------------------------------------------------------------------------------------------,----------------------~~~~----------***-***---------------------------------------------------------------------------------------~~~--------------,-----~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------,------------------------------------------------------------------------------,---------------------------------------------%.%...%%,,,,,%.%%%%%%%%%%%%%...,%%%%%%,,,%%%%%%%%%%%%%%..%...........................................................................................................................................................,................%%%%%%%%%%.%%.,,%%%%.%.%.,...%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%,,%%%...,.%,..%%%..%%%%%%%%%%%%.%%%%%%%,.%.%%%%%.%.%.%.%.%%%%%.%%%%.,%%.%%.%%%%%.%%%.%.%%%%%%%%%-------------...%%%%%%%.%%..%%.,,%%%%..%...%.,%%.%%%.%%,.%%%%%%,,~~~~~~~~~~~~,,,,,---------------------------------------------------------------~~~~~~~~-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~---------*********------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------.--------------..%.%%%%%,,%,,%.%%.%%%%%%.%%%%%%,.%%%%%%,,,.%%%%%%%%.%.%%,%......................................................................................................................................................,......................%%%%%%%%%%.%%%%%.%%.%%%%,%.%%%.%%%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%.%%%.%,%%%%%%.%%,,,.%%%%%%%%%%%%%%%.%%%%%%%%,,.%%%%.%..%..%%%%%%%%%,%.%.%%%..%%%%.%.%,,%%%.%%%%%%%%%%------------.%%%.%.%.%%%%.%%%%.,,.%%%%%..%%.%....%.%%%%.%.%.%%%,-~~~~~~~~~~~~~,,,,---------------------------------------------------------------~~~~~------------------------------------------.---------------------------------------------------------------------------------------------------------------,---------------------~~~~-----------------------------------------------------------------------------------------------------------~~~---------------~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--------------------------------------------------------------------------------------------------------------------------------------------------%...%%%%%.%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%,,.%%%%%%%%%%%,%%....,.................................................................................................................................................i.......,.........%...%%%%%%.,,%%.%%%.%%%.%%%%.%.%%%.%%%%%%%%.%%.%%%%%%%%%%%%.%.%.%%%.,.%%%%.,%%%.%.%.%%,,%.%%%%.%%%%%%%%%%%%%%%%,,,,,,..%%..%%%.%%%.%.,,,,%%.%%%%%%%%%.%%%%,,,%%%%%%%%%%%%%-------------%%%%.%.%%%.%.%.%..,%%%%%.%%.%.%.%.%.%%%%..%.%%%%%%,-~~~~~~~~~~~~~~,,,---------------------------------------------------------------~~~~~--------------------------------------------------------------------------------------------------------------------------------------------------,------,----------------------~~~~--------------------------------------------------,------------------------------------------------------~~~~~~~~------------~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------------------------------------------------------------------------------------------------------,---------------------------------------%%%%%,,%%%%%%%%.%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%..%.%,........................................................................................................................................................i...........%%%%%%.%%%%%..%%%.%%%%%%%%%%%..%%%%%.%%%%%.%..,.%%%%%%%%%%.%%.%..%.%%..%.%%%%%%..%%%%%.,,%%%%%%,.%%%%%%%%%%%%%%.,,,,.%%%%%%.%%%%%%.%%.,,,%%%%%%%%%%%%%,,%%,.,%%%%%%%%%%%%%%-------------.%%%.%%.%.%...%%%%...%.%.%%.%%%%..%%%.%%%%%%.%%%%%--~~~~~~~~~~~~~~,,,---------------------------------------------------------------~~~~~--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~----------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-----------------------------------------------------.---------------.-------------------------------,--------------------,-----------------------------,%%%%%%%%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%%%%%%%%..%%%%%%%......................................................................................................................................................................%%%%%%%.%%%%.%%%%.%%.%.%%%%%%%..%%%%%%%%..%%..%.%.%%.%%%%%%%.%%%%.%..%.%..%.%.%%.%.%%.,.,,%%%%%%.%%%%%%%%%%%%%%%%,,.,%%%%%%%%%%%..%,,,,,.%%%.%%%%.%%%.%.%%%%.,%%%%%%%%%%%%%-------------%%%%%..%%%.%%%.%.%..%%%%%%%.%.%...%%.%%%.%.%%..%%%%%~~~~~~~~~~~~~~,,,----------------------------------------------------------------~~~~-------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------~~~~~------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-----------------------------------------------------------------------------------------------------.--------------------------------------------------,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%.%%..%%%%%...................................................................................,,.....,...............................................................,.,.........%%..%%.%%%%%%%%%.%%.%%%%%%%%%.%%%%%,%%%%,%%.%%..%%%%%.%%.%%%%%%%%%%.%.%%%%.%%%....%%%.%%,,,%%.%%,%%%%.%%.%.%%%%%%,,.%%.%%.%%%%%%%%%.%%%.,%%.%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%------------.%%..%%%.%.%%%.%.%..%.%.%.%%.%.%%%%%%%%%%%..,%.%%.%%-~~~~~~~~~~~~~~,,,-----------------------------------------------------------------~.----------------------------------,--------------------------------------------------------------------------------,--------------------------------------.--------.-------------~~~~~----------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,-------------------------------------------------------------------------------------,-----------.-------------------------------------------------------,%%%%%%%%%.%%%%%%%%%%%.%%..%%%%%%%%%%.%%%.%%%%%.%%%%...................................................................................,.,,..,............................................................................%%%%%.%%.%%%%%%%%%%.%.%%%,%%%%,,....,..,.%%%%%%%%.%%%.%%%%%..%.%%%%%.%%%%%.%%%%%.%%...%%%,,.%.%.%.%%%%%%%%.%%.%%%%%%%%.%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%.%%%%%---------------..%%%%%..%%%%.%.%.%.%%%.%%.%%%%.%%%%%%.%.%..%%%%%%%%%%~~~~~~~~~~~~~,,,---------------------------,------------------,---------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------~~~~~~---------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,-----------------------------------,---------------------------------------------------------------------------------------------------------------------%.%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...%.%%.%.%%.%,%%....................................................................................,.,...........................................................................%%%%%%%%%%%%%%%%%%%%%%%%,,,,.,,,%%%%%.,,%%.%.%%%.%%%.%...%%%%%%.%%%%,..%.%%.%%%%%%%%%%%%%.,.%%%%..,,.%%%%%%%%.%%,..%.%.%.%%%%%%.%%%.%%%%%,%%%%%%%%%%..%.%%%%.%%%%...%.%%%%----------------.%%%%%.%%%%%.%%%%%%%..%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%~~~~~~~~~~~,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------.---------------------------------------------------------~~~~~~----------------------------.---------------------------,---------------------,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------------------------------------------------------------------------------------------------------------------------------------------------------%%.%%%%%%%%%%%..%%%%%%..%%%%%%%%%%%%%%%%,,,..%...%%.%..,%....................................................................................,...........................................................................%%%%%%%%%%%%.%%.%%%%%%%.,,,.,%%%%.%.%.%.%%%%..%%%%%%%.%,%.%%.%%.%%%,%.%%%%%%.,..%%%.%%%%%%%,,,%.%.%%%,,.,%%%%%.%.%%.%%%.%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%.%%%%%%%%.%%%%.%%.%.%%------------------%%%%%%%.%.%%%%%%%%%.%%..%%%..%%%%%..%%.%%%%%%%%%%%%%~~~~~~~~~~,,,,,,--------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~-~~~~~~~-----------------------------------------------------------------------------------,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,---------------------------------,---------------------------------------------~~~-----------------------------------------------,------------------------%%%%%%%%%...%%%%%%%%%%%%%%%%%%%%%%%%%h%%%%...%..%%.....,,%...................................................................................,,..............................................................i...,.......%%%%%%%%%%%%%%.%%%%%%%%.,,,,,%%%%.%%%%..%%%%%%.%.%%%%.%,%%.%%%%%%,,,%%%...,,,%%.%%.%,,,%%%,,,.%%.%%%%.,..%,%%%%%%%%%.%.%%%%%%%%%.%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%.%%%..%%%%.%%%----------------,,,%%%%%...%%%%%%%%%%%%%%.%%.%%%%.%%%%%%.%%%%%%%%%%%.%~~~~~~~~,,,,,,-------------------------------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------~~~~~~~~~~----------------------------------------------,--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------------------------------------------------------------------------------~~~----------------------.-------------------------------------------------%%%%%%%%%%%%%%%.%.%.%%%,,,,%%%%%%%%%%%%%%.,%%%%%%%%%.%%,%%........................................................................,...............,.......................................................................%%%%%%%%%%%.%.%%%%%%%,,,,,,,%%%%%%%%.%,%%%%%%%%%%%%%%%%%%..%%..%%%.%%%%%.%.,%%.%%%%%%%.%,,,,,.,.%.%.%.%%%%%%...%%%.%%%%%%%%%%.%%%.%.%%%%%%%,%%%%.%%%%%%%%%%%%.%%%%.%.%%%.%%%----------------,,,%.%%%,,,.%%%,,%%%%%.%.%.%%.%.%,,,%.%%%%%%%%%%%%%%%%%.~~~%%%%,--,,----------------------,-------------------------------------------------------------------------------------------------------,----------------------------,--------------------------------------------------------------------------.----~-~~~~~~~~~~~~----*------------------------------------------,------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,------------------------------------------------------------------------------~~~-------------------------------------------------------------------------%%%.%%%%%%%%,,,%%%%%%,,,,,%%%%.%%%%%%%%.%%%%%%%%%%.%.%,%%.........................................................................,.........,............................................................................%%%%%%%%%%%%%,%%%%%,,,,,,,,,,,,,i.%%%%,,%%%%%.,,%%%%%%%%%%%%%%%.%%%%%%..%%%.%%%%%%%%%%%%%,,,,%%...%%.%%%%%%%%%%%%%%.%.%.%%%%%%%%%%%%.%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%.%.%%%.%.---------------,,,-%%%%%,,,,,,,,,,%%%%%%,,.,,%%%%%%%.%%.%.%%%%%%%%%%%%.%~%%%%%%----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*~~-~~~~~~~~~~~--*---------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,----------------~-------------------------------------------------------------~~~----~~~~~--------------------.------.--------------------------------------%-%%%%%%%.,%%%%%%%,,,,,,%%%%%.%%%%%%%%%%%%%%%%%.%%%..%.............................................................................................................................................................,,..%%%%%%%%%%%%%,,%%%,,,,-,,,,,,,,,,,..-.---,%%%%.%%%%%%%%%%%%%%%%%%%%%%%.%.%%%%%%%%%%%.%%%%%,,%%%%.%%%%%.%%%%%%%%%..%%%...%%%.%%%%%%%%%%%%.%%%%%%%.,%%%%%%%%%%%%%%%%%..%.%%.%%.--------------------,,,,,,,,,,,,,,-,,,,,,,,,,,,,%%%%...%%.%%%%%%%%.%%%%.%%%%%%------,------------------------------------------------,------------------------------------.---------------------------.--------------------------------------------------------------------------------------------------------------------*~~~~~~~~~~*~-~---**-,*-------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,----------------~~------------------------------------------------------------------~~~~~~~----------------.-------------------------------------------------,%-.-%-%%%%%%%%%,,,%%%,,%%%,%%%%%%%%%%%%%%.%%%%%%.%.%.......................................................................,...................,............................................................,....,.%%%%%%%%%%...%%,,,,,~~~~~~~~~~~~~~~~--------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.,%%%.%.%%%.%%,,%%%%%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%%%%%%.%%%%%.,,,%%%%.%%%%%.%%%%%%%.%%%%%---------------------,,,,,,--,,,,----,,,,,,,,,,,,.%%.%.%%%%%%%%%%%%%.%....%%.%%----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------~~~~~~~~~*****~****--*--------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-,,,,------------------------------------------------------------------------------------~~~~~~~-----------------------------------------------------------------------.-%%%%%%%%%%%%..%%,,,,%%.,%%%%%%%,%.%..%.%%%..,.......................................................................,.........................................................................................%%%%%%%%.%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~-.%%%%.%%.%%%%%%%%%%%%%,,,%%%%%%.%.%.,%%.%.%%%%%%.,,..%.%.%%.%%%%%%%%%%%,,,,,,%.%.%%%%.%%%%%%%%.%%%%%%%%%,,,%%%%%%%%..%%%%%%%%..%%%%.---------------------,,,,----,,-----,,,,,,,,,,,%%%%%%%.%%%%.%%.%%%.%.%.,,-%-.,-------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------~~~~~~~~~~*******-**-*---*-----------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-----------------------------~~----------------------------------------------------------~~~~~~~~-------------------------------------------------------------------------%%%%%%%%%%%...........%,,%%%%%%,.%%%%%..%..,,,.......................................................................,..............,...........................................................,..........%%%..%,,,%%,%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~--%.%%%%%.%.%%%%%%%%%%%%%%%%%%.%%%%%,,,,..%%%%.%%%%%%%.%%%.%%%.%%%%%%%%%%,,,,..%%%.%%%%%%%%%%%%%%%,,,.%%%.,,%%%%%%..%.%%.,%%%%..%%%%.----------------,-------------------,,,,,,,,,,%%%.%%%%%%%%%%%,%%%%%%..%%.--------------------------------------------------------------------------------------------------------------------.----------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~********-----*------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,----------------------~~----~~-----------------------------------------------------------~~~~~~~~------------------------------------------,-------------------------..-%..%%%%%%%%%%............,,%.%%%%.%.%%%.%%%,,,,,,......................................................................................................................................................,.,....%%%.%,,%%%%%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%.%%%.%.%%%%%%%%%%.%%.%.%%..%%%%.,,,%.%.%.%%%.%%%%.%.,..%%%%%%%%%%%%,..,.%...%%%.%%%%%%%%%%%..,,%%%.%..%%%%%%%%%%...%%.%%.%%%.%.------------------------------------,,,,--,,,,%%.%%%%..%%.,%,,,%%%%%%%%%%--.-..-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~*******--S-S-------------.------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,-----------------------~~---~~~------------------------------------------------------------~~~~~~-----------------------------------------------------------.--------.%%%%%%%%.%%%%%%%............,,...%%%.%%%%.%%%%%%,,,,............................................................................................................................................................%%%.%%,,%%%%%..%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~...%%%.%%%%%%.%%%%%.%%%%%%%%%%.%%%%%%.,,%%%%%.%%%%%%%%%..,.%%%%%%%%%%%%.%%%%%.%...%.%%%.%%%%%.%.%%%%.%%%.%%.%%%%%%%%%%%.%%.%%%...-.-------------------------------------,,,----,,,%%%%.%.%%%%%%%.%%%%%%..%%%%------------,-----------------------------------------------,--------------------------------------------------------------,----------------------------------------.-------.--------------------------------------------------------------------~~~~~~~-~~*-------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,-,,-----------------------~----~~-------------------------------------------------------------~~~~-.------------------------------.--------------------------------------%%%%%%%%%,,%%%%..............,...%%,,.%%%%.%%%%%,,,,.................,...........................................................................................................................................%%.%%,,,%%%..%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%%%%.%%%%.%%%.%%.%%%%%.%%%%.%%%%%.,.%..,.%.%%%%%%.%....%%%.%%%%%%%%%.%.%.%%%%%%%%%.%.%%.%..%%%%%.%%%.%..,%%%%%.%.%...%%%%%-------------------------------------------------,--%%%%%%%%%%%%..%.%%%%%.%%%------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~------------------------------------------------------,-----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,--------------------------------------------------------------------------------------------------~~---------------------------------------------------------------------%-%%%%%%%%%,%.%%%.%................%%%%.%%%%...%%%,,,,.................................................................................................................,.................,.......,,.,...............%.%%,,,%%.%.%.%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~%%%%%%%%%%%,,,%%%%%%%%%%.%%%%%%%.%%%%.%%,..%.%.%%%.%%%%%.%%%%%%%%%%%%..%%%.%%%.%.%%%%%%%%%.%%%%%%.%%%%..%%%%%%%%.%%%.%%%.%%-------------------------------------------------------%%.%%%%%%%%%%%%%%%,%%%--------------------------------------------------------------------------------------------------------------------.----------------------------------------------------------.-----------------------------------------------------------------~~~~~~~--------------------------------------------.------------------------------------.-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------------------------------------------------------------------------%%%%%..%%.%%%%....%............,%%%%.%%%%%.,.%%%%%,,,,................................................................................................................,...........i................................%..%%,,,.%%%%..%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%.%%.%%%%,,........%%%..%%%%.%%%%%.%.%%%%.%.%%%%,...%%%%%%..%.%..%.%%%%%%%%%%%%,,,.%%%%.%%--------------------------------------------------------%.%.%%%%%%%%.%%%.%,%-------.------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~---------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------------------------------------------------------------------------------------------------------------------------------------------------~~~----------------------.%%%%%......%%....%.............,%%%%%%%%%%.%.%.%.%,,%............................................................................................................................,...................................,,,,,,,%.%%%.,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%..%,%%%%%%%%.%%%%.%%.%%%%%.%,,.%%.%.%.%.%.%%%.%%%.%%.%%%%%%%%.%%.%%%%..,,,%%%%%%%%%--------------------------------------------------------.%%%%%%%.%%%......,,.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------~~~~~------------.--------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,------------------------------------------------------------------------------.------------------------------------------------------------------~~~~~~-------------------.%%%%%.......%%....%.............%%%%%.%%%%%%%..%%%.,%%...........................................................................................................................i......................,............%%%,..,.%%.%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%,%%%%%%.%%.%%%%..%%%%%%%%%,,.,,.%%%%%.%%%.%.%%%..%..,.%%...%%%.%%%%,,,,%%%%%---------.-------------------------------------------------.%%%%%%%%%.%%%.%.%,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------~~~~---------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~--------------------%%%%..............%............,.%%%%%..%%%%%.%.%%%.%%...........................................................................................................................i.......................................%%.%%..,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%.%%.%%%%%%.%%%%%%..%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%..%%%%,%%%%%,,,,%%%.%%%%%%%%%%%.%%.%%,,,.%%%%%%%%%.%,,,,,%%%%.--------.------------------,-------------------------.----.%%%%%%%%%%%%%.%%%------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-------------------------~~~~--------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------,---------------------------------------------------------------------------------------------,------------~~~~~~.--------------------%%..............................%%%%%,%%%%%.,.%%%.,%%%....................................................................................................................,............,..............................,...%.%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%.%%%.%%.%%%%%%%.%%%%%%%%%%%%%%%%%%,,.%%%%%%%%%%%%%%.%%%,%%%%%.%%,%%%%.%.%%%%%%%%%%%%%%,,,%.%%%.%%%.%%,,,,,---.-------..-----------.--------------------------------------%%%%%%%%%%%%..%%%%----.----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~---,----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------------------------------------------------------------------------.----------.----%%%-%..........,,,,.................%%%%.%%%%%%,,..,,,,%%.................................................................%........................................................i.,....,..................................%...%.,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%%%%%%%..%%%%%%%%%..%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%.%%%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%,,,,%%%.%%%%%%%....,,----------.------------------------,--,------------------------%%%%%%%%.%%%%%%%.%.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------~~--,-----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------,,--------------------------------------------------------------------,--------------~~~~-------------%......%.%%........................%...........,.,,.........................................................................................................................................,.............................,........,.,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%.~~%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%,,,%%%%,%%%%%%%%%%%%%%%%..%%%%%%%%%.%%%.%%%%%%%%%%,,,,.%%%,.....%%.%%,,,----------------------------,---------------------------------%%%%%%%.%%%%..%.%%----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~-------------------,------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~-------.-----%........%......................................,..,.........................................................................................................................,,.i.i.............,.........................,......,,..,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%.%~~~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,%.%,.,%%%%%%%%%%%%%--%%%%%%%%%%%,,%%%%%%%%%%%%.%.,%%%%%%%..%%.%.%.%.,,,-.------------------------------------------------------------%%%%%%%%%%.,.-..------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------~------------------,-----------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------------------------------------------------------------------,--------------------------------------------------------------------------,---------~~~~~~------------%.............................................,,,..,.....................................................................................................................,.,,....ii.............................,......,.,.,,,..,.....,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%~~~~~~%~%~~~~.,,,,,%%%%%%%%%%%%%,,%%%%%,%%%%%%%%%.%%%%-~~~~~~~-,,,,,,%%%%%%%%%%%%..%%%%%%%%%%%%%..%%%..,,,.---------------------------,-----------------------------------%.%%%%%%------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~------------------,----------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-----------------------,------------------------------------------------------------------------------------------------------------.-----------,---------~~~~--------------............................................,....................................................................................................................,....,..,,.,...i............................................,........,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%%%,,,%%%%%.%%%%%%%%%%.%%%%%~~~~~~~~,,,,,,%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%..,,-------------,-----------~~-~--------------------------------------%%%,%------------------------------------------------------------------------------------------------------------------------,-------------.-----------------------------------------------------------------------------------------------.----------------------------~---------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------............................................,.......................%...............................................................................................,...,......................................................,..,.....,,,%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,~%%%%%%%,,,%.%%%%%%%%%%%%%.%%%%%%%~~~~~~~~~,,,,..%%%.%%%,,%%%%%%.%%%%%%%%%%%%%------------------------.---~~~~~--------------------------------------%-%--------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------~-----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------....................................................,................%%........................................................................................................i...............i.........................................,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%~~~,,,...%.%%.%%%%%%%%%%%%%%%~~~~~~~~~~,,,..%%%%%%%%%%%.%%%%.%...%%%%%...----------------------------~~~~~~~~~------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------,----------------------------------------------------,-----------------------------------~~~~~~~~~~~~---------------------------~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------------------------------------------------------------------------------------------------------------...................................................i....................%%..........................................................................................................i........................................................,%%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,..%%%.%%.%%%%%%%%%%.%%%~~~~~~~~~~,,,,,%.%%%%%%.%%%%%%%%%%%%%%%%%%.%----------------------------~~~~~~~~~~-----------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,------------------------------,--------------------------------------------------------------------------------------------------------------------------------------......................................................................,.....%%........................................................................................................i..i.i........................................................%%%,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%.%.%%%%%%%%%%%.%%%.%~~~~~~~~~~~~,,,%%%%%.%%%%%..%%%%%%%%%.%%%%%%..-------------.-------------~~~~~~~~~------,-------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------.----------.---,----------------------------------------------------------------~---------------------~~~~~~~~~~~~~~~~~~~~~----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------------------------------SSS\\\\\----------------------------------------------------------------.......................................................................,.......%........................................................................................................................................................................%,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%..%%%%.%%%%.%%~~~~~~~~~~~~~,%%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%.----------------------------~~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---.-----------------------------------------------------------------------------------------------------------------~--------------------~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------SSS\HHH\-------------------------------------------------------------...................,................................................................................................................................,........................................i..i........,..,.............................................,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....%%%.%%%%%.%%%%%%~~~~~~~~~~~~-,%%%,,%%%%%%%%%%.%%%%%%%%%%%.%.%.-----------------------------~~~-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,----------------------------------------------------------------------------------SSS\HHH\-----------------------------------------------------------.............................................................................,.,.....................................................................................................................,...,..................................................,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%%%.%%%%%%%%%%%%%~~~~~~~~~~~~--.%%.%%%%%%%%%%..%%%%%%%%.%.%.%%-------------------------------~----------------------------------------------------------------------------------------------------------------------------------------------------------------------~~.~~-----------------------------------------------------------------------------------------------------------------------------------~~---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------........SS\HH.\-----------------------------------------------------------...............................................................................................................................................................................................i.......,,..................................................,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...%%%.%%%%.%.%%%%-~~~~~~~~~~~~~-%%..,%..%%%%%%%%%%.%%%%%%.%%%%%%-----------------.------------~---------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~--------------------------,-----.-------------------------------------------------------------------------------------------------~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------....H.......SS\\\\\-----------------------------------------------------------.........................................................................................................................................................,..........................................,...,..................................................,,,....,,,.,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%%%%%%%%%%%%%%%.-~~~~~~~~~~~~~-%%%.%.%%.%%%%%,%%%%%%.%%%%%...%%------------------------~~-~~~~~~------------------------------------------------------------------------------------------------------------------------------------------------------------,------~~~~~~-----------------------------------------------------------------------------------------------------,-----------------------------~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------.....H......SS----------------------------------------------------------------..................,....,..........................................................................................................................................................................,....,,.,......................................................,.,...,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%%%%%%%%%.%.%,-~~~~~~~~~~~,.%%%.%.%.%%%%%.%%%%%%.%%%%%.%.%%%-----------------------~~~~--~~---------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~-----------------------------------,-------------------------------------------------------------------------------------------~~~~~~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------------------------------------------------------------------------------------......H.....SS----------------------------------------------------------------................................................................................................................................................................................................................................................................,.%%%%%,,,,%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,%%%%%%%%%%%%%%%%%%%,---~~~.~.~~,,.%%%,.%%%%.%%%%%%%%%,%%%%%.%.%%%-----------------------~~~~~------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~-----------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------------------------------------------------------------------------------------.......H....SS----------------------------------------------------.----------.................................................................................................................................%..............................................................................................................................,,,%.%.%%%%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,.%.%.%%%%%%%%%%,,%,,,,,,-.%%.%~,,,,%%%.%.%%%%%%%%%%%.%,,%%%,..%%%%.----------------------~~~~~~-----------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~----------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,------------------------------------------------------------------------------------HHHHHHHH....SS----------------------------------------------------------------................,,,.%%%%...............................................................................................................................................................................,........................................................,,.%%%%%%.%%.%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,-%%.%%.%%%%%%%*-*-,.,%%%%.%.%%%.,.,%,,,%%%%%.%%%%%%%%%,,,,,,.%.%%%.----------------------~~~~~~-----------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~--------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------.......H....SShhhhh--------------------,------------------------------------------...............,%%%..........................................................................................................................................................................,....,.......................................................,...%%%.%%%%%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------,-----.%%...%%%%*-*---..%%%.%%%%%%%.%,%%%.%...%,.,,,,i%%,,,,,,,.%%.%.----------------------~~~~~~~~~---------------------------------------------------------------------------------------------------------------------------------------------------.-----------------~~~~~~~-------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------......H.....SShhhhh----------------------------------------------------------------..................................................................................................................................................,,.................................,.........,,,,..........................................................%%.%%%%%%.%.%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------------%--%--------,.%%%%%...%%%.%,.%%%%%.%%%%.,,,,,,,,,,,,,,,,,.,,----------------------~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~---------------------------------------------------------------------------------------------------------------.---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------............SShhhhh----------------------------------------------------------------...........,........................................................................................................................................,,...........................,...,.............,........................................................%.%..%,%%%%%..%%%%%~~~~~--------~~~~~~~~~~~~~~~~~~~~~.,,---------------------**--**-,.%%%%%%%%..%%%,,%%%%%%.....%,,,,,,,,,,,,,,,,--------------------------~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------,---------------------------------------------------------------------------------SSShhhhh----------------------------------------------------------------%......................................................................................................................................................,......................,.........,..........,.,........................................................%%%%.%.%%%%.%%%%%~~~,,,---------~~~~~~~~~~~~~~~~~,,,,-----------------------*-**--.%%%%%%%.%.%%%%%,%.%%%.%%%%%%,,%i,,,,,,-,,,,---------------------------~~~~~-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------.-------.----------------------.-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------------------------------------------SSS--------------------------------------------------------------------%%...,..........................................................................................................................................................................................................................................................%%,.%%..%.%%%%%%~~,,,,-----------~~~~~~~~~~~~~~,,,,,---------------------***--%%..%%%%%%%%%%%%%%,,%%%%%%%%%.%%%%%%,,,,,,---,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~-----------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------,----------------------------------------------------------------------------SSS--------------------------------------------------------------------%%..................................................................................................................................................,,......................,.....,,,..........,................................................................,,,..%...%%.%%%,,-,,,,-----------~~~~~~~~~~~~~,,,,,,,------------------------*%%%.%%%%%%%%%%%%%%%%%.%%%..%%%%.%%%%,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------SSS--------------------------------------------------------------------%%..................................................................................................................................................,.................................................,........................................................%,,,.,%%.%%%%%%%.,--,,,--------------~~~~~~---,,,,,,,--------------------------.%%%%%%%%%%%%.%%.,%%%%.%%%..%%..%%%%,,,,,,---------------------------------------,------------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------SSS---------------------------------------------------------------------%......................................................................................................................................................,.....................,..,..,...........................................................................,,....%%%%%.%%%.----,--------------,,,,,,,,-,,,,,,,---------------------------%%%.%%%%%%%%.%.%%.%%%%%...%.%%%%.%%---,,,,---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------------------------SSS-----------------------------------------------------------.------------%.................................................................................................................................................,.........................................................................................................%.%...%%%%%%%%%.-------------------,,,,,,,,,,,,,,,,,--------------------------%%%%%%%.%%%%%%%%.%..%%%%%%%%.%%%%.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------,-------------------------------------SSS------------------------------------------------------------------------%..............................................................................................................................................,,.......................,..,,,....................................................................................%%%%%%%%,--------------------,,,,,,,,,,,,,,,,,---------------------------.%%%%%%%%%%%%.%%%%%.%%%%%%%%%%%%.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--------------------------------------------------------------------------------------------------------hhhhhSSS-------------------------------------------------------------------------................................................................................................................................................,........................,.......................................................................................%%%%%%%%.--------------------,,,,,,,,,,,,,,,,,,---------------------------%.%%.%%..%%%%%%%%%%%.,..%%%%%%%.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------,------------------,--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------hhhhh.SShhhhhhhhh---------------------------------------------------------------..,..................................................................................................................................................................................................................................................,............%%%%%%%.-------------------------,,,,,,,,--,,,,---------------------------%%.%%%%%%%%%%%%%%%,,..%..%%%%%%.----------------------------------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------.---------------------------------------------------------------hhhhhSSSh.......h---------------------------------------------------------------........................................................................................................................................................................,................................................................................,........%...%%%%.------------------------------------,----------------------------%%.%%%%%.%%%%%%%%.%%%.%%%.%%%%------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---.--------------------------------,----------------------------------------------------,------------------------------~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------.-----------------------------------hhhhhSSSh.......h---------------------------------------------------------------.............................................................................................%...................................................................................................................................................................%%%%.%%%%.---------------------------------------------------------------%%%.%%.%%%%%%%%%%%%%.%.%%%%.%%-----------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------,----------------------------------------------,-----------------------------------~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~-----------------------------------------------------------------------------------------SSSh~~~~~~~h---------------------------------------------------------------..............................................................................................%..................................................................................................................................................................%%%%%%%%%.---------------------------------------------------------------%%%%,%%%%%.%%%%%%%%%..%%%...,---------------------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*-**--*------------~~~~~~~~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~-----------------------------------------------------,-----------------------....H...----SSSh.......h---------------------------------------------------------------.%%%%%.................................................................................,.....%.........................................................................,.......................................................................................%%%%%%%%%%-----------------------------------------------------------------%%%%,%%.%%%%%%%%%%%%%-%%%%%.,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------------------------------------------*-*--***-----------~~~~~~~~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------~-------------------------------------------------------.----------------------....H...----SSSh.......h-----------------------------------------------------------------%%%.................................................................................,...............................,........................................................................................................................................%%%%%%%,,-------------------------------------------------------------------%%%%-...%%%%%%%%%%%%--.--,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*--**---*-------------~~~~~~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~-----------------------------------------------------------------------------------....H...---.SSShhhhhhhhh-------------------------------------------------------------------....................................................................................,...%..................,.....,.........................................................................................................................................%%%%%%,,,-------------------------------------------------------------------------,,,,,%%%%%%%%%-----,,,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------,--------*-*-*******--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...-------------------------~~~---------------------------,--,------------------------------------------------....H...--...SSh.......h-------------------------------------------------------------------.................,...................................................................,,......................................................................................................................................,,............................%%%,%,,,,--------------------------------------------------------------,--------.---,,,,%%-%%%-------,,,,----------------------------------------------------------,--------------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------------------------------------------------------*-*-*--*--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~---.-------------------------~~~-~~~~----------------------------------------------------------------.........---.H...H...---.SSSh.......h-------------------------------------------------------------------.....,..........,....................................................................................................................................................................................................................,.........................,,,,,,---------------------------------------------------------------------------,,,,,-%---------,,,,------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------,-------------------------------***-*****----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------~~~--~~~-------------------------------------------------.--------------.........---..H..H...----SSSh~~~~~~~h-------------------------------------------------------------------......,,.............................................................................,,..............................,..............................................................................................................,...........................,,,,,---------------------------------------------------------------------------,,,-----------------------------------------------------------------,----------------------------------------------------------------------------------------------------------------------------,-------------------------------------------,-----------------------------------------------------------------------------------------****--*--*-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------~------------------------------------,-------------.---------------.........---...H.H.H.----SSSh.......h------------------------------------------------------------------..,,.......,,..........................................................................,.......................,................................................................................................................................................--,,,,------------------------------------------------------------------,------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------**----**----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------,-------------------------------------------------,------~~~~~-----------------------.........---....HHH..----SSSh.......h------------------------------------------------------------------,,.....................................................................................,,.........................................,...,.,.......................................................................................................................----,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------,------,------------------------~~~~~~-----------------------.........---.........----SSShhhhhhhhh--------------------------------------------------------------------....----..........................................................................,...............................................,...........................................................................................,..,............................-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------~~~~~~-----------------------.........---.........----SSS--------------------------------------------------------------------------------------.........................................................................................................................................................................................................................,...........................----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------~~~~~~~----------------SSSSSS.........---.........----SSS--------------------------------------------------------------------------------------..................................................................................................................................................................................................................,.....,............................---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------------------------------------------------.--------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------~~~~~~~----------------S****S.........SSS.........SSSSSSS----------------~~~~~-----------------------------------------------------------------.....................................................................................................................................................................................................................,,...............................--------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------~~~~~~~~~----.----------S****SSSSSSSSSSSSSSSSSSSSSSSSSSSSS---------------~~~~~~~---------------------------------------------------------------~.........................................................................................................................,...............i.............................................................................,............................-----------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------,-----------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------~~~~~~~----------------S****SSS.SSSSSSSSSSSSSSSSSSSSSSSSS--------------~~~~~~~~------------------------,-------------------------------------~.........................................................................................................................................iii.i.....................................................................................................-------------------------------------------------------------------------------------,-------------------------------------------------------------------------------------------------------------.---------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------~~~~-------------------------------------~~~~~~----------------S****S-...------hhhhhhh--------SSS--------------~~~~~~~~~------------------------------------------------------------~................................................................%%.........................................................................................................................................................,....................,...--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------------------------------------------------~~~~~~-------------------------------------~~~~~----------------SSSSSS--.-------h..~..h--------SSS-------------~~~~~~~~~~~-----------------------------------------------------------~................................................................%%%...........................................................,.............i.i.....................................................................................................-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,------------------------------------------------~~~~~~~--------------------------------------~~~~-----------------SSS------------h..~..h--------SSShhhhhhhhh---~~~~~~~~~~~~~-----,----------------------------------------------------~..............................................................................................................,,..............,..............i.........................,..,.,...................................................................,,..-----------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------------------------------------------------~~~~~~~~-------------------------------------~~~-----------------SSShhhhh-------h..~..h--------SSSh.......h---~~~~~~~~~~~~~---------------------------------------------------------~~........................................................,.................................................................i.,..,.........i.................................,,.................................................................,...,.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,------------------------------------------------~~~-~~~~~~------------------------------------~~~-----------------SS.hhhhh-------h..~..h---hhhhhSSSh.......h---~~~~~~~~~~~~~~--------------------------------------------------------~~~.......................................................,............................................................,......i.............,...........,......................................................................................,.,,...--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------.-----------~~~~~~~~~~~------------,------------------------~~----------........SShhhhh-------h..~..h---hhhhh.SSh~~~~~~~h----~~~~~~~~~~~~~--------------------------------------------------------~~~..................................................,..,,.......................................................................i..............,..,..,...................,...................................................................,.,...,.-------------------------------------------.----------------------------------------------------------------------,----------------------------------------------------------------------------,-----------------------------.----------------------------------------------------------------------------------------------------------------------------------------------------------.-----------.---------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------~~~~~~~~~~~-------------,-----------------------~~----------........SShhhhh-------h..~..h---hhhhhSSSh.......h----~~~~~~~~~~~~~--------------------------------------------------------~~~.~~~.................................................,.,...................................................................................,,.....,.......................................................................................,..,...,.---------------------------------------------------------------------------------------------------------------------------------------------.-----------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------.--------------~~~~~~~~~~~-------------------------------------~-------\\\\........SS---------,--h..~..h---hhhhhSSSh.......h----~~~~~~~~~~~~~----------------------,--------------------------------~~~~~~~................................................,.,,,..........................,.........................................................,.....................................................................................................--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------.--------------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------------------------.---------------------~~~~~~~~~-----------------------------,---------------\,,,........SS------------hhhhhhh--------SSShhhhhhhhh----~~~~~~~~~~~~~~-----------------------------------------------------~~~~~~~~.............................................,..,.,..,..................................................................i............................................................................................................,.......--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,------------------------------------------------------~~~~----------------------------------------------\,,,........SS---------------------------SSSh.......h----~~~~~~~~~~~~~~----------------------------------------------------~~~~~~~~~..............................................,........,.......................,........................i......,,....,.........................................,......................................................................,....,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,-------------------------------------------------------------------------------------------------------\,,,........SS---------------------------SSSh.......h---~~~~~~~~~~~~~~~------------------------~~~~~~----------------------~~~~~~~~~~~..........................................,.,...,.........................,...................................i...................................................................................................................,......,.--------------------------------------------------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--------------------------.-------------------------------,------------------------------------------------\,,,........SS---------------------------SSSh~~~~~~~h----~~~~~~~~~~~~~~-----------------------~~~~~~~----------------------~~~~~~~~~~.........................................................................,.............................,........,...i.........................,........................................................................................,...---------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-----------------------.----------------------------------------------------------------------------------\,,,........SS********-------------------SSSh.......h----~~~~~~~~~~~~~~------------------------~~~~~-----------------------~~~~~~~~~~.........................................................................,..................................................................,..............................................................................................--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------------------------------------------------------------------------------------------------------\\\\........SS*********------------------SSSh.......h----~~~~~~~~~~~~~~-----------------------~~~~~~~----------------------~~~~~~~~~......................................................................,,..................................,.......,..............................................................................................,.,........................--------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------------------------------------------------------------------------------------------------------------------SS.*********------------------SSShhhhhhhhh-----~~~~~~~~~~~~~------------------------~~~-~~~---------------------~~~~...~......................................................................,.,..........................i.........................................................................................................................................---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.----------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------------------------------------------------------------------------------------------------------------------SSS***.*****------------------SSS--------------~~~~~~~~~~~~--------------------------~-~~~~----------------------~~~~.........................................................................,............................................................................................................................................,........................----------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------------------------.--------------------------------------------------------------------------------------------SSS********-------------------SSS--------------~~~~~~~~~~~--------------------------~~~~~~~-----------------------~~~...............................................................................,..................................................................,............................................................................................--------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,---------------------,------------------------------------------------------------------------------------------------SSS---------------------------SSS--------------~~~~~~~~~---------------,------------~~~~~~~------------------------~~...............................................,.......%%%....................,..............................,.,......................................................................................................,........................------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------------------------------------------------------------------------------------------------------------------SSS------SSSSSSSSSSSSSSSSSSSSSSSS--------------~~~~~~~~-----------------------------~~~~~--------------------------~~.............................................,.....,.......................................................i......,.................................................................................................,,.........................------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,----------------------------------------------------------------------------------------------------------------------SSS------SSSSSSSSSSSSSSSSSSSSSSSS---------------~~~~~~~-----------------------------~~~~~--------------------------~~.................................................,...,....................................................i...,..,....................................................................................................,,......................----------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,------------------------------------------------------------------------------------------------------------------hhhhhSSS------SSSSSSSSSSSSSSSSSSSSSSSS----------------~~~-------.--------------------------~~---------------------------~~................................................,..............................,................................................................................................................................,....,.......................-----------------------------------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,------------------------------------------------------------------------------------------------------------------hHHHhSSS---------------------------------------------.---------------------,---------------------------,----------------~~..........................................,.,,...,..,....................,.....................................,..,,,,.,...........................................................................................,........................----------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,-------------.--------------------------------------------------------------------------------------------.-------hHHHh.SS--------------------------------------------------------------------------------------------------------------......................................,................,..........................,...................................................,...............................................................................,......,..................-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------------------------------------hHHHhSSS--------------------------------------------------------------------------------------------------------------....................................................%...,...................,.....,.................................................,.....................................................................................,.....................----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~~~~~~~~~---,-------------.----------------------------------,--------------------------------------------------------------------hhhhhSSS----------------------------------------------------------------------------------------~~~~------------------.............................................,......%..............................,.................................................,..................................................................................,.......................-----------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------,--------------------------------------------------------------------------------------------------------------------------SSS----------------------------------------------------,----------------------------------~~~~~~------------------............................................,,.....%.......................,.........................................................,.................................................................................,.......................----------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------,---------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,---------,,-------------------.---.--------------------------------------------------------------------------------------------------SSS.......------------------------------------------------------------------------------~~~~~~~~~-----------------...........................................,..,...........................................................................,.................................................................................................................%--------------------------------------------------------------------------------------------------------------------------------------.-----------------------------------------------------------------------------------------------------------------------.----------------.---------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,-------,,------------------------------------------------------------------------------------------------------------------hhhhhhhhhSSS.*****.----------------------------------------.--------.---------------------------~~~~~~~~~~----------------......................................................................................................................................................................................................................,.,...............-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------.---------------------------------------------------------------------------------------------------h.......hSSS.*****.--------------------------------------.--------------.-----------------------~~~~~~~~~----------------.....................................................................................................................................,.......................,,,..........................................................,.............--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------,--------------------------------------------------------------------------------------------------------h.......hSSS.*****.--------------,--------------------------------------------------------------~~~~~~~~-----------------.......................................................................................................................................................................................................................................------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------------------------------------------------------h~~~~~~~hSSS.*****.------------------------,----~~~--------.-------,-.-------------------------~~~~~-~~~~~---------------.......................................................................................................................................................,...........................................................................---------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------.-------.-------------------------------------------------------------------------.--.--------------------------------------------------------------------------------------------.-----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------,----------------------------------------------------------------------------------------------------h.......hSSS.*****.---------------------------,-~~~~.------------------------------------------~~~~--~~~~~~---------------~~~~.......................................,........................................................%..............................,,...................,,.,.................................................................------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,-----------------------------------,-------,--------------------------------------------------------------------------------------,--------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------.----------------------------------------------------------------.-------h.......hSS..*****.-----------------------------~~~~.-------------------------------------------~----~~~~~---------------~~~~...............................................................................................................................,......................,.,...,.............................................................%----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------,---------------------------------------------------------------------------------------------------,------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---------------------------------------------.--------------.-------------------------------------------------------------------...------hhhhhhhhhSS..*****.-----------------------------~~~~~.-------------------------------------------~~~~~~~~----------------~~~~....................................................................................................................................................,..,.,,...............................................................%-------------------------------------------------------------------------------,--------------------------------------------------------------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------------------------------------------------------------------------------------------------------------------------SSSSSSSSSSSSSSSSSSSSSSS..*****.-----------------------------~~~~~~~------------------------------------------~~~~~-------------------~~~~...................................................................................................................................................,...,,..,..............................,,.,..,......,.....,............%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-----------------------------------------------------------------------------------------------------------------------------SSSSSSSSSSSSSSSSSSSSSSSS.......----------------------------~~~~~~~~--------------------------------------------~---------------------~~~~~..................................................................................................................................................,.,,...,....................................,..........................------------------------------------------------------------------------------,-------------------------------------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------------------------------------------SSSSSSSSSSSSSSSSSSSSSSSS--------------.--------------------~~~~~~~~------------------------------------------------------------------~~~~~................................................................................................................................................,.......,......................................,....,....................--------------------------------------,i,,,,.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------------------------------------hhhhhhhhhhhhh--------------------------------------------~~~~~~~~.-----------------------------------------------------------------~~~~~...................................................................................................................................................,..,...................................,,.............................--------------------------------------,,CCC,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------------------------------------h..~..h..~..h--------------------------------------------~~~~~~~~~-----------------------------------------------------------------~~~~~................................................................................................................................,..........................................................,,.............................-------------------------------------i,CCC,,-,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------------------------------------------h..~..h..~..h---------------------------------------------~~~~~~~~-------------------------------..---.-----------------------------...................................................................................................................................................,..............................................,...................---------------------~~~-~~------------------,,CCC,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------------------------h..~..h..~..h---------------------------------------------~~~~~~~~-------------------------------.......----------------------------................................................................................................................................................................................................,...........,.,......----------------------~~~~~~~-----------,-----,,CCCi,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------.-----------------------.------------------------------------------------------------------------------------------h..~..h..~..h---------------------------------------------~~~~~~~--------------------------------........------.--------------------.....................................................................................................................................................................................................................---------------------~~~~~~~~-----------------,,CCC,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.---.........-----------------------------------------------------------------------------------------------------------h..~..h..~..h----------------------------------------------~~~~~~-----------------,--------------..........%%%....----------------.......................................................................................................................................,.,.............................................................................-----.--------------~~~~~~-----HHHHHSS.------.,,CCC,,..**.SS.------.---------------------------------------------------------,--------------------------------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~............-----------------------------------------------------------------------------------------------------------h..~..h..~..h----------------------------------------------~~~~~~~------------------------------.......%....%.....---------------................................................................,........................................................................,.........................................................,...................---------------------~~~~~~~----HHHHHSS--------,iCCC,,..|.*SS-----------------------------------------------------------------------------------~~---~~~~-----------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~............-----------------------------------------------------------------------------------------------------------h..~..h..~..h-----------------------------------------------~~~~~~,---------------------------........%%..........---------------................................................................,.......................................................................,..............................................................................--------------------~~~~~~~~~---HHHHHSS------.-,,CCC,i..|.*SS----------------------------------------------------------------------------------~~~~--~~~~-------.-----------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------,--------.-----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~............-----------------------------------------------------------------------------------------------------------hhhhhhhhhhhhh-----------------------------------------------~~~~~~~--------------------------.........%%.........-----------.-----.......................................................................................................................................,,..............................................................................-------------------~~~~~~~~~---HHHHHSS--------,,CCCCC*...*SS-.--------------------------------------------------------------------------------~~~~--~~~~----------------------------------------------------------------------------------------------------.-------------------------------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..............---..---------.------------------------,--------------------------------------------------------------------------,--------------------------------------------------~~~~~~~~~--------------------.............%%........%----------..-----.......................................................................................................................................,................................................................................~~~~~~~~~~~~-------~~~~~~~~---HHHHHSS--------,,CCC,.....*SS-----------------------------------------.----------------------------------------~~~~---~~-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------------.-----------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...................----------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~---------%%%%%------..............%.........---------.i..---..................................................................................................................................,......................................................................................~~~~~~~~~~~~~~~-------~~~~~---HHHHHSS.------.i,CC..,.***.SS.------.-------------------------------------------------------------------------------~~~-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~......-.........-----------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~--------%%%%%%%-----........................-------.................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~------~~~----SSSSSSSSSSSSSSSSSCCCSSSSSSSSSSSSSSSSS------------------------------------------------------------------------------~~~~~--------------------------------------------------------------------------------------------------------------------------------------,-------------------.~~~~-------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.....---..........--------------------------------------------------------------,-----------------------------------------------------------------------------------------.------~~~~~~~--------%%%%%%%-----.......%%%%%............-----...................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~~-----------SSSSSSSSSSSSSSSSSCCCSSSSSSSSSSSSSSSSS--,----.---------------,-----------------------------------------------------~~~~~~------------------,-------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~-----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...----,,........---..----,--------------------------------------------------,--------------------------------------------------------------------------------------------------~~~~~~--------%%%.....-...........................----....................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~~~~-,-------\\\\\SS.------.,,CCCi,.....SS.------.-----------------------------------------------------------------------------~~~~~~------------------------------------------------------------------------------------------------------------------------------------------------------.~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.------,........--....------------------------------------------------------------------------------------------------------------------------------------------------.--------.~~~~~--------%%...............................,..---......................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~~~---------\...\SS--------i,CCC,,.....SS-------------------------------------------------.-----------------------------------~~~~~~------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------..................--------------------------------------------------------------------------------------------------------------------------------------------------------~~~~--------%%%.......%...................................................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~----------\..~\SS------.-,,CCC,,.....SS---------------------------------------.--.-------,----------------------------------~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~--------------,---------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------...................,------------------------------------------------------------------------------------------------------------------------------------------------------~~~~---------%........%...................................................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~----------\...\SS--------,,CCC,,.....SS-.------------------------------------------------------------------------------------~~~~-----------,----------------------------,-----------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------.....................----,------------------------------------------------------------------,--------.--------------------------------------------------------------------~~~---------.........%...........................,........................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~----------\...\SS--------i,CCC.......SS---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------------------,---------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------.....................------------------------------------------------------------------------------------------------------------------------------------------------------~~---------.........%................................................................................................................%......................................................................................................................................................~~~~~~~~~~~~~------------\\\\\SS.------.,,CC..,.....SS.------.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------.....................------------------------------------------------------------------------------------------------------------------------------------------------------~~~--------..,......%....................,...........................................................................................%.............................................................................................................................,.........................~~~~~~~~~~~-------------SSSSSSSSSSSSSSSSSCCCSSSSSSSSSSSSSSSSS---,---------------------------------------------------------------------------------------------,--------------------------------------------------------,--------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------**.**-----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------................%....------------------------------------------------------------,------------------------------------------------------------------------------------------~~~~~~~~~~....................................,................................................................................................................................................................................................................,..,.........................~~~~~~~~~~-------------.......SSSSSSSSSSSCCCSSSSSSSSSSSSSSSSS-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------*...*--------------------,--------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,...............%....----------------------------------------------------------------------,---------------------------------------------------------------------------------~~~~~~~~~..............................,.,..,.............................................................................................................................................................................................................,.....,..........................~~~~~~~~~~-------------.......S.------..,CCC,,.\\\.SS.------.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------..*..----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------................%....----------------------------------------.--------------------------------------------------------------------------------------------------------------~~~~~~~~~~..........,......................,.................................................................................................................................i..............................................................................,....,,.........................~~~~~~~~~~-------------.......S--------,,CCC,,\...\SS-----------------------------------------------------------------------------------------------------------------------------------------------------------------,----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------*...*----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------.....,..........%....------------------------.-------------------------------.-----------------,---------------------------------------------------------------------------~~~~~~~~~~~...,......,.....................,,............................................................................................................................................................................................................................................~~~~~~~~~~~~~~-------------.......S------.-,,CCC,,\.~.\SS----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------**.**-----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------.,..............%...-----------------------------------------------------------------------------------------------------------------------------------.-------------------~~~~~~~~~~~..........,...................,.........................................................................................................................................................................................................................,.....................~~~~~~~~~~~~~~-------------.......S--------,,CCC,i.HH.\SS-.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~--------------------------.---------------------------------------------------.----------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------.................--------------------------------,---,-------------------------------------------------------------------------------------------------------------------~~~~~~~.~~~~.....................................................................................................................................................................................................................................................,.........................~~~~~~~~~~~~~-------------.......S--------,,CCC.,*.H.\SS------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~-----------------------------------------------.------.------------------------------------,-----------------,------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------..................------------------------~-------------------------------------.-------,--------------------------------------------------------------------------------~~~~~~......,..............................................................................................................................................................................................................................................................................~~~~~~~~~~~~~----------,--.......S.------..,CC..,.\\\.SS.------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~-----------------------------------------,---------------.--------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------...................-----------------------~--~~---------------------------------------------------------------------------------------,-----------------------------------~~~~~~........,............................................................................................................................................................................................................................................................................~~~~~~~~~~~~~-----,,,,,,,,.......S,,,,,,,,,,CCC,,,,,,,SSi,,,,,,,.,,,------------------------------------------------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------~~~~~~-,------.-----------------------------------------------------------------------------------------------------,----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------...................------------,---------~---~~--------------------------------------------------------------------------------------------------------------,------------~~~~~~......,..............................................................................................................................................................................................................................................................................~~~~~~~~~~~~~----,,,,,,,,,,..,,,SS,,,.,,i,,,CCC,,,,,,.SSi,,i,,,.,,,,--------------------------------------------------------------------------------,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------.-------------.---------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------....,....,.........----------------------~---~~------------------------------------------------------------------------------------------------------------,--------------~~~~~~..................,..................................................................................................................................................,...............................................................................................................~~~~~~~~~~~~~----,CCCCCCCCC.CCCCCCCCC.CCCCCCCCCCCCCCC.CCCCCCCCC.CCC,------------------------------------------------------------------------------,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------.....,.,............----------------------~---~~-------------------------------------------------------------------------------------------------------------------------~~~~~~~...............................%%.............................................................................................................................................i..........i.........................................................................................~~~~~~~~~~~~~~~-----,CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC,------------------------------------------------------------------------------,,,,,,,,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------.........,..............----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~..............................%%%...............................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~-,--,,CCCCCCCCCCCCCC%%%%%CCC%%%%%CCCCCCCCCCCCCCCCCCCCCC,-----------------------------------------------------------.------------------,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------.----------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------.......,..................---------,---------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~..............................%%%.......................,....................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~------,.i,,,,,,.,,,,,S%%%%%,,,%%%%%CC,,,,i,,,,,,,,S,i,,,i,----------------------------------------------------------------------------,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------..........................-------------------~~-------------------------.-----.-------------------------------------------------------------------------------------------~....~~~~......,.......................%%%.......................,.....................................................................................................................i.............................................................................................~~~~~~~~~~~~~~~~~~-,,,,bbbbbbb,,.,,,,,,,,S%%%%%,,,%%%%%CC,,,,,.,,,,,,,S,,,,,,,-------------------------------------------------------------------------,-,,,,,,,,,,~~~,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-----------....,..,,.................-------------------~~-~------------------------------------------------------------------------------------------------------------------------.......%-...............................%%%...............i.......,.........................................................................................................,.........................................................................................................~~~~~~~~~~~~~~~~~--,,,,bbbBbbb,,,,i,,,,,,S%%%%%%%%%%%%%CC,,...........S--------------------------------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------.--------------.-------------------------~~~----------------------------------------,----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------......,.................------------.--------~--------------------------------------,----------------------------------------------------------,--,---------------------............,...........................%%%..............i......,,............................................................................................................,..........................^^^...........................................................................~~~~~~~~~~~~~~~---,,,,bbbBbbb,,,,.bbb.,,S%%%%%***.%%%%CC,,....*****..S-------------------------------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~----------------------------.----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------.,......................---.-----------------------------------------------------------------------------------------------,--------------------------------------------.........................................%%...........i..................................................................................................................................................^^^^..........................................................................~~~~~~~~~~~~~~~---,,,,bbbBbbBbbb.BBBbB.,SS.*******.,,CCC,,....**.*.*.S----,--------------------------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~-~--------------------------------------,--------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,.,..........,...........-----------------------------------------------------------------------------------------------------------------------------------------------..........................................................i..............................................................................................................................................^^^^^..........................................................................~~~~~~~~~~~~~~~---,,bbbBbBbBbbbbbB.bBbb,SS***...***..CCC,,.******.**.S--------------------------------------------------------------------------,,,,,,,,,,,----,,,,,,,,,,,,,,-----------------,,,---------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------~~~~~~--------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------..-............,,...........---------------------------------------------------.---,-------------------------------------------------------------------------------------.......................................................i...............................................................................................................,.....................................^^..........................................................................~~~~~~~~~~~~~~~----bBbbbbBBBbbbbbbBbBbBb,SS**\.~.\****CCCCC.*.b******.S------------------------------------------------------------------------,,,,,,,,,,,,,----,,,,,,,,,,,,,,,-------------,,,,,,,,,---------------------------------------------------------------------------------------------------------------,--------------------------------------------------------------------------------------~~~--~~----------------------------.---------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------...,........,................--------------------------------------------------.-----------------------------------------------------------------------------------------..........................................................................................................................................................................................................................................................................................~~~~---~~~~~~~-----HbBBbbbBbbbbbbbbBbBbb,SS**.~~~.****CCCCC.********..S-----------------------------------------------------------------------,,,,,,,,,,,,,,--------,,,,,,,,,,,,------------,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------......,,...,..,..............--------------------------------------------------------------------------------------------------------------------------------------------..........................................................................................................................................................................................................................................................................................~~-------~---------bbBbbbbbbbbbbb.BbBbB.,SS**\.~.\****CCCCC.*.b******.S---------------------------------------------------------------------,,,,,,,,---,,,,,--------,,,,,,,,,,,,------------,,,,,,,,,,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------.....,......................--------------------------------------------------------------------------------------------------------------------------------------------...........................................................................................................................................................................................................................................................................................%%-----------------bbBbbbbbbbbbbbb.bbb.%%SS***...***..CCC,,.******.**.S--------------------------------------------------------------------,,,,,,,,,---,,,,----------,,,--,,,,,,,,,,,--------,,,,,,,,,,--------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------....,..,...................---------------.------------------------------------------------------------------------------------------~~---------------------------------%...........................................................................................................................................................................................................................................................................................%%----------------HbBBbbbbbbbbbbbbbbbSSSSS.*******.,,CCC,,....**.*.*.S--------------------------------------------------------------------,,,,,,,,,,---,,-----------,-----,,,,,,,,,,------,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------..,..,.........i.............-----------------------------------------------------,------------------------,------------------------~~~~~-~------------------------------%..........................,.....%%%...............................................................................................................................%.%%%....................................................................................................................%%----------------bBbbbbbbbbbbbbbbbbb%%%S%%%%****.%%%%CC,,....*****..S--------------------------------------------------------------------,~~,,,,,,,---,-----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----..............................----------------.--------------------------------------------------------------------------------------~~~~~~~~-----------------------------%...............................%%%%%.........................................%%%.....................................,............................................%........................................................................................................................%%----------------,,bbbbbbbbbbbbbbbbb,,,S%%%%%%%%%%%%%CC,,...........S------------------------------------------------------------------~~~~~,,,,,,,---------------------,,,,,,--,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~-----.-------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----..............................-...-------------------------------------------------------------------------------------------------~~~~~~~~~------------------------------%.%-%%.........................................................................%%...............................,..........................................................................................................................................................................%%-----------------,,,bbbbbbbbbbbbbbb,,,S%%%%%i,,%%%%%CC,,,,,i,,,,,,,S,,,,,,,-----------------------------------------------------------~~~~~,,,,------------------------,,,,,---,,,,,,,,,,,,,,,,,,,,----------,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~-------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----................................-------------------------------------------------------------------------------------------------~~~~~~~~~~------------------------------------........................................................................%%.............................,.,..........................................................................................................................................................................%%--------------,--,,,,,,,,,,,,,,,,,,,,,S%%%%%,,,%%%%%CC,,,,,.,,,,,,,S,,,,,,,-----------------------------------------------------------~~~~~,,,,-------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------........i..................,.-------------------------------------------------------------------------------------------------~~~~~~~~~~------------------------------------........................................................................%%...............................,..........................................................................,..........................................................................................,....%-----,-------------,CCCCCCCCCCCCCCCCCCCC%%%%%CCCC%%%%CCCCCCCCCCCCCCCCCCCCCC,----------------------------------------------------------~~~~~~,,,,--------------------------.----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~--------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------............................--------------------------------------------------------------------------------------------------~~~~~~~~-------------------------------------...--...................................................................%..................................................................................................................,..................................................................................,.,.,.--------------------,CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC,----------------------------------------------------------~~~~~~,,,,-----------------------.-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~-------------------------------------------------,-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------%.......................-----------%%%-----------------------,-------------------------------------------------------------~~~~~-~~------------------------------------...---.........................................................................................................................................,.............................................,................................................................................,.,,...----------~~--------,CCCCC.CCCCCCCCC.CCCCCCCCC.CCCCCCCCCCCCCCC.CCCCCCCCC.CCC,----------------------------------------------------------~~~~~,,,,,-------------------------------------,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------.......................%---------%%%%%-----------------------------------------------------------,-------------------------~~~~~~--------------.----------------------------.........................................................................................................,........................................................................,...,.,................................................................................,......---------~~~~------,,,,,,.,,,,,,,,,.,,,SS,,,,.,,,,,,CCC,,,,,,.,,,,,,,,,.,,,,---------------------------------------------------------~~~~~~~,,,---------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------,-------.--------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~-----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------................,......%%--------%%...---------------------,----------------------------------------------------------------~~~~~~-----------------------------------------......................................................................................................................................................................................,,,..,..........................................................................,.,.....,..---------~~~~~~-------,,,,,,i,,,,,,,,..SS,,,,,,,,,,,CCC,,,,,,,,,,,,,,,,,,,,,------------------------------------,--------------~~~~~~~~~~~~~~,-----------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------------------------,--------------------------------,-------------------------------------------------~~~~~~------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------............,...........%--------%%........---------------------------------------------------,-----------------------------~~~~~~---,-------------------------------------........................................................................................................................................,..........................................,.................................................................................,..,...-----------,-~~~~~~~~-----------------------SS.-------.,,CC..,---------,--------------------------------------------------------~~~~~~~~~~~~~~~~~~------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------.------------------------------------------------------------------------------------------------.---------------~~~~~~-------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------..................,.....-.....---%.........--.....------,-----------------------------------------------------------------------------------------------------------------............................................................................................................,.......................................................................,.,...,................................................................................-------------~~~~~~~~~~----------------------SS---------,,CCC,,-----------------------------------------------------------------~~~~~~~~~~~~~~~~~,------------------------------------------------,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,-----------------,--------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~--------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------..........,...........,......---%................------------------------------------------------------------------------------------------------------------------------............................................................................................................,............................................................,................,..............................................................................--------------~~~~~~~~~~~~~~~~~~~~~~~~------,--SS---------i,CCC,,-------BB-------------------------------------------------------~~~~~~~~~~~~~~~~~~,--------------------------------------------,,,,,,,,,,,,,,,,,,*,,,,----,,,,,,,-----------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------.........,......................................---.---------------.----------------------------------------------------------------------------------------------------....................................................................................................................................-................................,,.,,.,.,...........................................................................................--------------~~~~~~~~~~~~~~~~~~~~~~~~~--------SS---------,,CCC,,-------BB----B-------------------------------------------------~~~~~~~~~~~~~~~~-~~,-------------------------------------------,,,,,,,,,,,,,,,,,,,,,**,----,,,,,,,--------------------------------------------------------,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------S.------...............................................,---.------------------------------------------------------------------------------------------------------------------.....................................................................................................................................-.................................,,...................................................................................i............,--------------~~~~~~~~~~~~~~~~~~~~~~~~~--------SS.-------.,.CCC,,-------BB----BB--B---B----------------------------------------~~~~~~~~~~~~~~~~~---,-------------------------------------------,,,,,,,,,,,,,,,,,,,,,,**----,,,,,,,----------------------------------------------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------....%%%%%..........,...................................-------.----,-----------------------,--------------,--------------------------------------------------------------------............................................................................................................................................................................~~~~~~~.,.........................................................................,...........----,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~-------SSSSSSSSSSSSSCCC,,----BBB$$BBBBBBB--B-B----------------------------------------~~~~~~~~~~~~~~~~~~~--,--------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,---,,,,,,,,-----------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------..............%%%%%....,............................%..-------------------------------------------------------------------------------------------------------------------------.........................................................................................................................................................................~~~~~~~~~~~,.........................................................................,...,,......------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~------SS.-------.,,CC...----BBB$$BBBBBBB---B-----------------------.-----------------~~~~~~~~~~~~~~~~~~--,,--------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,,,---------------------------------------.----,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------.............%%%%%%%.,..............................%..-------------------------------------------------------------------------------------------------------------------------.........................................................................................................................................................................~~~~~~~~~~~~...............................,...........................................,,..,.....-------.----~~~~~~~~~~~~~~~~~~~~~~~~~~~~------SS---------,,CCC,,-------BB----BB---B-B----------------------------------------~~~~~~~~~~~~~~~~~---,,--------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------............%%%%%%%................................%...----------------------------------------------.-------------------------------------------------------------------------...................%.........%%%..............................,.,,......................................................................................................~~~~~~~~~~~~~~......................................~....~.............~~..--%..............,%%...------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~------SS---------,,CCC,,-------BB----B---B---B---------------------------------------~~~~~~~~~~~~~~~~-,,,,,,-------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------...................,..............................%...--------------------------------------------------------------,----------------------------------------------------------...................%........................................................,...........................................................................~~~~~~~~~~~.~~~~~~~~~~~~~~~~~....~,,....................,,......~~~~~~~~~~~~........~~~~----%.......,.......%%%%%------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~------SS---------,,CCC,,-------BB---------------------------------.-----------------~~~~~~~~~~~~~,,,,,,,,,,,,--,,,------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------.-------------------------------------------------------------------------------------------------------------------.-------------------------------~~---------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----...--...................................................%..-------------------,-------------------------------------------------------------------------------,-----------.----------........................................................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~~~~............................~~~~~~~~~~~~~~~....~~~~~-,,,%...............%%%%%%-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,--SS.-------.,iCCC,,-------BB---------------------------------------------------~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------~~~~----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----............................................................-------------------.------------------------------------------------------------------------------------------------------....,......................................................................,,,..........................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...........................~~~~~~~~~~~~~~~~~~~~~~~~~,,,................%%%%%%%-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----SSSSSSSSSSSSSCCC,,---,-BBBBBB-------------------------------------------------~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,-----------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------...........................................................-------------------------------------------------------------------.-------------------------------------------------------........,....................................................................,,........................................................................~~~~~~~~~~~~~~~~,....~~~~~~~~~~~~~~~~~........................~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,........--........%%%%%%%-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~-----SS.-------.,,CC..,------BBBB---------------------------------.----------------~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,---------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------,-------------------------------------------------------------------------------------------------------------------------------~~~~~,----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------..........................................................---------------------------------------------------------------------------------------------------------------------------.....,.,.............................................,...........,...........,...........................................................................~~~~~~~~~~~~~~,,....~~~~~~~~~~~~~~~~~.~.....................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~......-----....%%%%%%%%%%%------------~~~~~~~~~~~~~~~~~~~~~~~~~~-----SS---------,,CCCi,-------BB---------------------------------------------------~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,---------------------,----,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,-------------,,,,,----------------------------------------------------------------------------------------------------------------------------------------------,------------------------~~~~~~~------------------------------------------------,-----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------.........................................................----------------------------------------------------------------------------------------------------------------------------.....,..,..,,..............................................,..............,.....,........................................................................~~~~~~~~~~~~,,,,......~~~~~~~~~~~~~~~~~~...................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,...---~~~~~%%%%%%%%%%%%%%------------~~~~~~~~~~~~~~~~~~~~~~~~~~-----SS---------,,CCC,,-----------------------------------------------------------~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------,------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,-----------------------------------------,----------------------------------------------------------------------------------------------------------------------------~~~~~~~~--------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------.........................................................-------------------------------,--------------------------------------------------------------,---------------~-------------................................................................,.,..............,.......................................................................~~~~~~~~~-,,%%%,........~~~~~~~~~~~~~~~~~~~~~..............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,-~~~~~~~~~%%%%%%%%%%%%,-------------~~~~~~~~~~~~~~~~~~~~~~~~~-----SS---------,,CCC,,----------------------------------------------------------~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------,,,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------.-.---------------------------------------------------------------------------------------------------------------------~~~~~~~~---------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------%%........................................................--------------------------------------------------------------.--------------------------------------------~~~~-------------....................................................,...........................,.......................................................................~~~~~-----,,%%%%%,.......~~~~~~~~~~~~~~~~~~~~~.............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~%%%%%%%%%,,-,,-,,,,-------~~~~~~~~~~~~~~~~~~~~~~~------SS.-------.,,CCC,,------BBBBB----------------------------------------------~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------,,,,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------,---------------------------------------------------------------------~~~~~~~~----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------%%.............................,.........................-----------------------------------------------------------------------------------------------------------~~~~~~~~----------....,.......................,........................,..............%............,....................................................................~~~~~~-...,,...%%%%........,,~~~~~~~~~~~~~~~~~~~~......~~~..~~~~~~~~~~~~~~~...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%------,,,,--------~~~~~~~~~~~~~~~~~~~~~~------SSSSSSSSSSSSSCCC,,---------B-----------------------------------------------~~~~~~~~,,,,,,%%%%,,,,,,,,,,,,,,,,,,,-----------,,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~-----------------.-----------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------%%....................,......,,..........................---------------------------.-------------------------------------------------------------------------------~~~~~~~~~-----.----...........,............,...,.......................................................................................................................~~~~~~-....,..,.%%%%..........,~~~~~~~~~~~~~~~~~~~......~~~~~~~~~~~~~~~.........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%~~~~~-------,,,,--------~~~~~~~~~~~~~~~~~~~~~-----------------,,,,i,,--------B-----------------------------------------------~~~~~~~~,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,-,,,-,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------,-------~~~~~~~~----------------------------------------------------------------------------------~----------,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------%..........................,,............................------------------------------------------------------------------------------------------.------------.--~~~~~~~~~~---------.,....................,..,,....................................,....................................................................................%~~~~~-.,..,,.,................,,,,,,,,~~~~~~~~~~~~.....~~~~~~~~~~~~~~~.........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,---------~~~~~~~~~--~~~~~~~~--------------------------------B-----------------------------------------------~~~~~~~~~,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------.--------------------~~~~~~~-------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------.................................,......................--------------------------------------------------------------------------------------------.---------.---~~~~~~~~~~---------.,.....................,,.,........................................%.............................................................................%.%%%%~~~......,...................,,........~~~~~~~~~.....~~~~~~~~~~~~~~~.........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,-----------~~~~~~-----~~~~---------------------------------BBBBB------------------------------------------~~~~~~~~~~~,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------~~------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------.....---------%%%%%........................................................------------------------------------------------------------------------------,---------------------------~~~~~~~~~~---------....,.,...................,,.......................................%.......................................,.........................~~~~~~~.....%%%%%%%%,,..,..................................~~~~~~~~...~~~~~~~~~~~~~~~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%%%%-----------~~~~------~~~--------------------------------------------------------------------------,------~~~~~~~~~~,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,---------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------.......-------%%%..........................................,............i....---------------------------------------------------------------------------------------------------------~~~~~~~~~~------------........................,,......................................%.............................,..............................~~~~~~~~~~~~~...~%%%%%%%%%,.....................................~~~~~~~~~~~~~~~~~~~~~~~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%------------~~~-------~---------------------------------,-----------------------------------------------~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------........------%%%..............................................................--------------------------------------------------------------------------------------------------------~~~~-~~--------------..,,.....................,...............................................................................,...................~~~~~~~~~~~~~~~~~~%%%%%%%%,.....................................,---~~~.~~~~~~~~~~~~~~~~....,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%-------------------------------------------------------------------------------------------------------~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,-,,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------..........------............................................,,...................----------%%%----------------------------------------------------------------------------------------------------------------.................................%%%................%%%..%%%.............................................,....................~~~~~~~~~~~~~~~~%%%%%%%%%......................................,,,,,....~~~~~~~~~~~~~-....,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%~------------------------------,---------------------------------------------------------------------~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,----,,-,,,,,---~~,-------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------...........----............................................,,....,.,i.,.i...........--,,.,.....%------------------------------------------------,------------.-------------------------------------------------..................,.............................................................................,.,...........................~~~~~~~~~~~~~~~%%%%%%%%%%.......................................,,,.....~,,,..,-------...,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%~~~~-------------------------------------------,-----------------------------------------------------~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,-,,,,--,,,-~~~~~~,-------------------------------------------------------------------,-------------------------------------------------------,----------------------------------------------------------------------------------------------------------------,-----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------...............%.......................................,...,.....,,..i.........................%---------------------------------------------------------------------------------------------------------------...........................................................................................,.,.......,,.................~~~..~~~~~~~~~~~~~~~~%%%%%%%%%.........................................,,.....,,,,...,---.......,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------,--------------------------------------------------------------~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,i,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,i,,,,,,,,,,,,,,,,,,,,,,-----,--~~~~,,,----------------------------------------------------------------------------------------.---------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------..........i....%%...........................................,,......,,,..,i............,.......%-------------------------------------------------------------------------------------------------------------------....-...................,...............................................................,,.,.....,..................~~~~~~~~~~~~~~~~~~~~,%%%%%%%%................................................,,,,............,,,,,,%%%%%-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,-----,,-,~~~~,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------................%%............................................,.....i,i.,....i............,.....----------------------------------------------------------------------------------------------------------------------.----......-...---........................................%.....................................,................~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%................................................,,,.....i....i.,,,,,,,%%%%%-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------~~~-----------------------------------------------------------------------~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,i,,,,,,,,,,,-----,,,~~~~~~---------------,----------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------..................%%..........................................,....,.....,.......................i-----------------------------------------------------,-----------------------------------------------------------------~----...-------------....................................%..............................,....................~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%..................................................,.......i......,%%%%,%%%%%--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~----------------------------------------------------------------------~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,-----,,,,~~~~~~---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~-------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------...................%...........................................,,..,......,...............,..,....i--------------------------------------------------------------------------------------------------------------------~~~~~-------------------....................................%.......................,......,....,............~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,%%%%%,,,,..............................................,...,..........,%%%%%%%%%%--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------~~~~~,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------~~~~------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------................i...................................................%...............................--------------------------------------------------------------------------------------------------------------------~~~~~~..-----------------.................................................................,..................~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,%,,,,,,............................................................%~%%%%%,,,i,--.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------~~~~~~~~~~~,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,~~~~,,,--------------------------------------------------------------.----------------------------------------------------------------------------------------------------------------------,-~~~~------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------....................................................................,..........i...............,......---------------------------------------------------------------------------------------------------------------------~~~~~~~~------------------................................................,..............,..................~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,...............................................,.,,.........%~%%%%%,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------~~~~~~~~~~~,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------~~~~~~,-----------------------------------------------------------------------------------------------------------------,-----.---------------------------------------------.-----------------~~~--------------------------------.----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------....................i.................................................,..,..............................,.-------------------------------------------------------------------------------------------------------------------~~~~~~~~~~-----------------.................................................,............,,...............~~~~~~~~~~~~~-------,,,%%%,,%%%,,,,,%%%%%,,%%%%%..........................................,....i.i.....~~~%%%%%%,,,i---.-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------~~~~~~~~~~~,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,-------~~~~~~,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~--------,-----------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------..,....................................................................,.................................------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~-------------------.....,........................................,..............................~~~~~~~~~~~~--------,,%%%%%%%%%%,%%%%%%%%,,%%%%.......................................................~~~%%%%%%%%,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------~~~~~~~~~~,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,~~~~~~,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,........................................................................................................---------------------------------------,-----------------------------------------------------------------------,--~~~~~~~-~~--------------------............................................................................~~~~~~~~~~~~~-------,,,%%%%%%%%%%%%%%%%%%%%%%%%%....%...,................................................~%%%%%%%%,,,,----%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,~~~~~,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.----------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,.......................................................................................................------------------------------------------------------------------------------------------------------------------~~~~~-------------------------.,......................,,..................................................~~~~~~~~~~~~~------,,,,%%%%%%%%%%%%%%%%%%%%%%%%%...........................................,.............~%%%%%%%%,,,,,,,-%%%%%-------~~~%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.------------------------------------------------------------~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,~~~~~~~~~~~~~~~---,----------------------------------------------------------------------------------------------,-----------------------------------------------------------------------~-----------------------------------.-----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%--........................................................................................................------------------------------------------------------------------------------------------------------------------~~~~~~------------------------..---..,....................................................................~~~~~~~~~~~~~----,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%.....%%%%..................................,.............,%%%%%%%%,,,,,,,,%%%%%----------%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~~~~--------------------------------------------------~~~~~~~~,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,~~~~~~~~~~~~~~~~~,----------------------------------------------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%-,........................................................................................................-----------------------------------------------------------------------------------------------------------------~~~~~~------------------------.-----.......................................................................~~~~~~~~~~~----,,,,,,%%%%%%%%%%%%%%%%%%,,%%%%%%%..%%%%%%...................................................%%%,,,,,,,,,,,%%%%%------%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~----------------------------------------,---------~~~~~~~,,,,,,,i,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~---------------------,----------------------------------------------------------------------------------------------------------------------------.--------------------~------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%-...,....................................................................................................------------------------------,-----------------------------------------------------------------------------------~~~~~~------------------------------...,...................................................................~~~~~~~~~~~--%%%%,,,%%%%%%%%%%%%,,%%%%%,,%%%%%%%%%%%%%%...................................,................,,,,,,,,%%%%,,%%%%%------%%%%%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-.--~~~~~~-----------------------------------------------~~~~~~~,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,--------,,~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------------.----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%-.........................................................................................................----.-------------------------------------------------------------------------------------------------------------~~~~------------------------------.,.,........................%%%%%.......................................~~~~~~~~~~~-%%%%%,,,%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%,%%%....................................................,,,,,,,%%%%%,,,,,,,,,,-,,%%%%%%%%%,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,---,,-~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%---,........................................................................................................---...--------------------------------------------------------------------------------------------------------------------------------------------.,..,.....................................................................~~~~~~~~~~-%%%%%,,,%%%%%%%%%%%%%%%%%%%,,%%%%%,,,,,,%%%....................................................,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%ii,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------~~~~~~~~~~~,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,---,,-~~~~~~~~~~~~~~~~~----------------------------------------------,----------------------------------------,----------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,----..........................................................................................................-,.,..---------------------------------------------------------------------------------------------------------.--------------------------------.,,.,.,....................................................................~~~~~~~~~~,%%%%%,,,%%%%%%%%%%%%%%%%%%%,,,%%%%,,,,,,,%%.................................................%%%,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,---,,----,,~~~~~~~~~~~~~--------------.----------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,----................................................................................................................-----------------------------------------------------------------------------------------------------.------------------------------------...,......,...................................................................~~~~~~~,,%%%%,,,,,,%%%%%%%%%%%%,,,,,,%%%%%,,,,,,,,,.................................................%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------~~~~~~~~~--,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,~~~~~~~~~-------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--,,----................................................................................................................-----------------------------------------------------------------------------------------------------------------------------------------------...............,..........................................................~~~~~~,%%%%%%%%,,,,,%,%%%%%%%,,,,,,,%%%%%,,,,,,,,,.,...............................................%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,i%%%%----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,~~~~~~~---------------------------------------------------------------,------.------------,---------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------...............................................................................................................,...-----------------------------------------------------------------------------------------------------------------------------------------,----........................................................................~~~~~~,,%%%%%%%%%%%,,,,%%%%%%,%%%%%,,%%%%%,,,,,,,,,.................................................,,,,%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------,---------~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,-~~~~~~~------------.----------------------------------------------------------------------------.-------------------.-------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------....................................................................................................................---------------------------------------------------------------------------------------------------------------------------------------------........................................................................~~~~~~,,%%%%%%%%%%%%,,,,%%%%%,%%%%%,,%%%%%,,,,,,,,%.................................................,,,%%%%%,,,%%%%%,%%%%,,,,,,%%%%%,,%%%%%----~%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------~~~~~~~~-----,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,,-~~~~~~~-----------------------------------------------------------------------------------------------------------.-----.---------------------------------------------------------------------------------------------------------------------------------~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,------.....................................................................................................................---------------,----------------------------------------------------------------------------------------------------------------------------,.......................................................................~~~~~~~,,%%%%%%%%%%%%,,,,,%%%%%%%%%%,,%%%%%,%%%%,,%%%................................................,,,%%%%%,,,%%%%,%%%%%,,%%%,%%%%%%%%%%%%%---%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------~~~~,-------,,,,,,,,i,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,--~~~~~---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,------...........~~........................................................................................................--------------------------------------------------------------------------------------------------------------------------------------------.......................................................................~~~~~~~,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,%%%...........................................%%%.,,,,%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%---%%%%%~~~~~~~,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------~~~~~,,------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,,,---~~~~~---------------------------------------------------------------------------------------,------------------------------------------------------------------,--------------------------------------------------------------------------------------~~~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------....%%....~~~~......................................................................................................----------------------------------------------------------------------------------------------------------------------------------------------...................................................................~~~~~~~~~,,,,%%%%%,%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,%%.........................................,%%%%%,,,,,%%%%%%%,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%---%%%%%,-,,,,i,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------~~~~~~~,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,~~~~~~------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,%%%,,,.,,~~~.....................................................................................................%----------------------------------------------------------------------------------------------------------------------------------------------...................................................................~~~~~~~~,,,,,%%%%%,,,,%%%%%%%%%%%%%,,,,,,,,,,,%%%%%,..........................................i,,%%%%%,,,,,,,%%%%%,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,-%%%%%%%%,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~--,--------------------------------------------------------------,-----------------------------------------------------------------------------------------------------------------------------------------------.-------------------------------~-~~~---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,~~~......................................................................................................-----------------------------------------------.----------------------------------------------------------------------------------------------...................................................................~~~~~~~,,,,,,%%%%%,,,,%%%%%%%%%%%%,,,,,,,,,,,,%%%%,,..........................................,,,%%%%%,,,,,,%%%%%%,,,,%%%,%%%%%%%%%%%,,%%%%%%%%%,,,.,,%%%%%,i,,,,.,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,*,,,~~~~~,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,~.......................................................................................................,,.---------------------------------------------~~~---------------------,-------,----------------.-------------------------------------------,.............................................................~~~...~~~~~~-,,..,,%%%%%,,,,,%%%%%%%%%%%%%%,,,,,%%%%%%%%%,........................................i.,,,%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,i,,,,,i,,,%%%%%,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------~~~~~~~~,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,*,,,~~~~~~,,,------------------------------------------------------------------------.----------------------------------------------------------------------,------------~-,--------------------------------.----.----------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,.%............................................................................................................------------------------------------------~~~~~~~---------------------------------------------------------------------------------------..............................................................~~~~~~.~~~~~%%%....,%%%%%,,,,,,,%%%%%%%%%%%%%,,,,%%%%%%%%%,.........................................,,,,,,,,%%%%%,,%%%%%,%%%%%%%%%%%%%%%%%%,,,,,i,,,,,,i,,,,,%%%%%,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~~--~~~~~~~~,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,--,,------~~~~~~~,---,,----------~~~~~~~~~-----------------------------------------------------------------------------------------------------------------~~~~-----------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,%................................................................................................................,,--------------------------------------~~~~~~---------------------------------------------,-------,----------------------------------...............................................................~~~~~~~~~~-%%.....,,,,,,,,,,,,%%%%%%%%%%%%%%,,,,%%%%%%%%%,........................................%,,,,,,,,%%%%%,,%%%%%,%%%%%%%%%%%%%%%%%%i,,,,,%%%%,,,,,,%%%%%%%,,,,,,.,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,-,,,------~~~~~~~~,,,,,,--------~~~~~~~~~~----------------------------------------------------------------------------,-------------------------------------~~-----------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%%%%,,,,,................................................................................................................,...-----------------------------------------~~~~~.----------------------------------------.-----------------------------------------------...........................................................~~~~~~~~---%%......,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%,,.......................................%,,,,,,,,%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%i,,,,,%%%%%,,.,i,%%%%%%%%,-,,-,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,----~~~~~~~~~~~,,,,,-------*~~~~~~~~~~~-----------------------------------------------------------------------------------------------------------------~----------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%,,,,,................................................................................................................,,...---------------------------------------~~~~~~~--------------------------------------.--------------------------------------------------........................%%%.......................~~......~~~~~------%%%%%%.,%%%,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...............%........................,,,,,%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%,i,,%%%%%%%,,,i,,%%%%%%%%-------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,--------~~~~~~~~~~-------------------------------------------------------------------------------------------------------------.--~~--------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%,,,..................................................................................................,.....................--------------------------------------~~~~~~~-----------------------------------------------------------------------------------------...............................................~~~~~~....~~~~~-----.,%%%...%%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%..,.........%%%%,................%....,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%,,,,,,%%%%%%%%--~~~~~~~~%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~~~,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,-----------~~~~~~----------------------------,----------------------------------------------,-----------------------------------~~~~~-------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%,,,...................................................................................................,..............,......-------------------------------------~~~~~~.-----------------------------------------------------------------------------------------.............................................~~~~~~~~~~.~~~~~~-----..%%%...%%%%%%%%,,,,,,,,,%%%%%,,,,%%%%%%,,,%%%%%%%%%,,,,........%%%%,................%,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%,i,,%%%%%%%,i,ii,,%%%%%%%%~~~~~~~~~~%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~~~~~~~~~~~~~~~~~~~~~,,,,---,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~,,,,,--------------~~----------------------------------------------------------------------------------------------------------------~~~~~-----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%,,,................................................................................................,.,......................-------------------------------------~~~~------------------------------------------------,--------------------------------------------.............,.............................~~~~~~~~~~~~~~~~~,---...........%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%,,,,%%%%%%%%%,,%..........%%%.................%%,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,%%%%%,,.,,,,,,,,,%%%%%~~~~~~~~~,%%%%%.-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~~~~~~~~~~~~~~~~~~~~,,,,----,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~,,,,---------------------------------------------,-------------------------------------------------------------------------------------~~~-------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,...............................................................................................,........................-------------------------------------~~~----------------------------------------------------------------------------------------------..........................................~~~~~~~~~~~~~~~...,,,....,...........%%%%,,,,,,,,%%%%%,,,,%%%%%%%%%%%,,%%%%%,%%...........%%............,....%%,,,,,,,%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%,,,,,,%%%%%,,,,,,,,,~~~~~~~~~~~~~~~~~,%%%%%,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~,,,-----------------,------------------------------------------------------------------------------------------------------------------~~---------------------------------------.-----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,.................................................................................................,..,...................%%------------------------------------~~------------------------------------------------------------------------------------------------..-.......----........................~~~~~~~~~~~~~~~~........................%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,,%%%%%%%%%........%%%.%%%.......%,...%%,,,,,,,%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,-,,,~~~~~~~~~~~~~~~~~~~,%%%%%,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~,,,-,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~%%%%%~~~~~~~~~~~~,,,----------------,--------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,............................................................................................,,,..,,....................%%%-----------------------------------------------------------------------------------------------------------------------------------------.....-----..................~~~~.~~~~~~~~~~~~~~~~~~.......................%%%%%%,,,,,,%%%%%,,,,%%%%%%%%%%,,,,%%%%%%%%%,,,,,,,,%%%%%%%%%....%%,%..%%,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------.~~~~~~~~~~~~~~~~~,,,,--,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%~~~~~~~~~~~~,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,.........................................................................................,..,...,..,....................%%--------------------------------------------------------------------------------------------------------------------------------------------------...................~~~~~~~~~~~~~~~~~~~~~~,,*.....i................%%%%%,,,,,,%%%%%,,,,,,%%%%%%%%,,,,%%%%%%%%%,,,,,,,,%%%%%%%%%....%%,%%%%%,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~,,,,,i,i,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,-----------.~~~~~~~~~~~~~~~~,,,,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%~~~~~~~~~~~,,,,------------------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,..............................................................................................,..........................%%------------------------------------------------------------------------------.---------,--------------------------------------------------------...................~~~~~~~~~~~~~~~~~~..,,,,,**.....................%%%%%,,,,,,%%%%%,,,,,,,%%%%%%%,,,,%%%%%,,,,,,,%%%%%,%%%%,,%%%...%,,,,,,,,,,,,,,%%%%%%%%,,,,,,%%%%,,,,,,,%%%%%%%%,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~,,,,i,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------.~~~~~~~~~~~~~~~---,,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,~~~~~~~~,,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%,,,,,,,.....................................................................................,..........,.........................%%------------------------------------------------------------------------------------------------------------------------------------------------..................~~~~~~~~~~~~,............,,,,....................,%%%%%..,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%,,,,,,,,%%%%%,,,,,,,,%%...%,,,,,,,,,,,,,,,%%%%%%%,,,,,%%%%%,,,,,,,%%%%%%%%,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~,,-,,,,,,.,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,-,,~~~~~~,,,,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%,,,,........................................................................................................,.................%%-------------------------------------------------------------------------------------------------------------------------------,-----------------,................~~~~~~~~~~~...............,,,....................,%%%....,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%,,%%%%%%%,,,,,%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%,,,,%%%%%,,,,,,,%%%%%%%%~~~~~~~----~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~,,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,.....................................................................................................,...................%-----------------------------,---------------------------------------------------------.------------------,----------.----------------------------................~~~~~~~~~~~......................................,,,,,....%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,,,%%%%%%%%%%%,,,,,%%%%,,,%%%%%%%%%%%,,,%%%%%,,,,,,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,---~~~~~~~~~~~,-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~,,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,.,..................................................................................................,...................-------------------------,---------------------------------------------------------------------------------------------------------------------------,..,..........~~~~~~~~~~~~.......................................,,,.....%%%,,%%%%%,,,,,,,,,,%%%%%%%%,%%%%%%%%%%%%%%%,,,,%%%%%%%%%%%,,,,%%%%%,,,%%%%%%%%%%%,,,%%%%%,,,,,,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~,,-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%,,,.......................................................................................................................--------------------------------------------,------------------------------------------------------------------------------------------------------------.........~~~~~~~~~~~.......,.....................................,,..%%%%,,%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%,,,%%%%%,,,%%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~,,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~,,,-----------------------------------------------------------------------------------~~~------------------------------------------------~----------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%,,,---~...................................................................................................................--------------------------------,----------------,--------------------------------------------------------------------------------------------------------........~~~~~~~~~....i..........................................,,,%%%%%,%%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%,%%%%%%%,,,,%%%%%%%%%%%,,,,,,,,,%%%%%%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,~~~~~~,,------------------------------------------------------------------------------~----~~~~~----------------------------------------------~~~--------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,-----~.........................................................................i........................................----------------------------------------------------------------------------------------------------------------------------------------------,------------.......~~~~~~~~~.......i.......................................,,,%%%%%,%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%,%%%%%%%%,,,,%%%%%%%%%%%,%%%,,,,%%%%%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,--------~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,----------------------------------------------------------------------------~~----~~~~~----------------------------------------------~~~--------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,-----~~............................................................................%................%....................---------------------------------------.------------------------------------------------------------------------------------------------------------------.......~~~~~~~~~.........%%%..............................%.,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%%%%,%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%,,%%%%%%%%,,,,%%%%%%%%%%%%%%%%,,,%%%%%%%%%,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,-----------~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,$***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,------------------------------------------------,-----------------,---------~~~~--~~~~~---------------------------------------------~~~~--------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,------~~..................................................................................................................--------------------------------------------------------------------------------------------------------.----------------------.-------.------------....-........~~~~~~~~~.....,.......,......................,..,%%%,,,,,,,,,,%%%%%%%%,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%,,%%%%%%%%%%%%%%,,,%%%%%%%%,,,,,%%%%%%%%%%%%%%%,,,,%%%%%%%%,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,,,,,,,,,,,,*****,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,,,--------------------------------------------------------------------------~~~~-~~~~~~---------------------------------------------~~~~---~~~--------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~-,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,------~~~~~................................................................................................................%%-------------------------------------------------------------------------------------------------------------------------------------,-----------.............~~~~~~~~........,..........................,,,,,,,,,,,,,,,,,,,%%%%%%%%,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,%%%,,%%%%%%%,,,,,%%%%%%%,,,,,,%%%%%%%%,%%%%%,,%%%%%%%%%%,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,,,,,,,,,,,,,,*****,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,---------------------------------------------------------------------------~~~~-~~~~~~---------------------------------------------~~~~--~~~~~----------------------~~~~~----------------------~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------~~~~~...................................................................................................i.i..........%%%-------------------------------------------.----------------------------------------------------------------------------------------------------.,,..........~~~~~~~..................i................,,,,,,,,%%%%,,,,,,,,%%%%%%%%,%%%%%%%%,,,,,,,,,,,,,%%%%%%%,,,,,,,,,%%%%%%%%,,,,,,,,,,%%%%,,,,,,,%%%%%%,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,,,,,,,,,,*,,,,,,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,---------------------------------------------------------------------------~~~~-~~~~~~---------------------------------------------~~~--~~~~~~---------------------~~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~~----------,~~~~~~~~~~..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~..................................................................................................i............%%%--.------------------------------------------------------------------------------------------------------------------.--------------------------.............~~~~~~~......,.,........i.................,,,,%%%%%%%%%,,,,,%%%%%%%%%%,%%%%%%%%%.%%%%%,%%%%,,%%%%%%%,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****S,,,,,,,,,,,,,,,,,*,,,,,,,****,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~,,,,,,----------------------------------------------------------------------------~~~~-~~-~-----------------------------------------------~~~--~~~~~~---------------------~~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~-----------,,~~~~~~~~%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~...................................................................................................i............%%-.....-------------------------------------------------------------------------------------------------------------------------------..,-------.............~~~~~~~~.......,,,.......................,,,,,,%%%%%%%%%,,,,%%%%%%%%%%%,%%%%%%%%%,%%%%%%%%%%,,,,%%%%%,,%%%%%%%%%%%%%,,,,,,,,,,,%%%%,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,,,,,,,*,,*,,,,,,,,,****,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,--,,-------,--------------------------------------------------------------------~~~~----------------------------------------------------~~~--~~~~~~----------------------~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~----------,,--~~~~~~%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~~~~~....................................................................i....................................................----------------------------------------.------------------------------------------------------------------------------------.......,,...,..........~~~~~~~~~.........,.......................,,,%%%%%%%%%%%%,,,,%%%%%,%%%%,,,,,,%%%%%,%%%%%%%%%%,,,,%%%%%,,%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%%%%,,%%%%%,,%%%%,,,,,%%%%%%%,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,*****,,,,,,,,,,,,,,i,,,,,,,.,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,~~~~~~~~~~,,,--------------------------------------------------------------------------------~~~~-----------------------------------------------------~---~~~~~-------------------------~~~~--------------------~~~~~~~~~~~~~~~~~~~~~~-----------,,,-----~.%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....................................................................................................................,......------------------------------------------------------------------------------,----------------------------------------------..,......i.............~~~~~~~~~......................i..........,,%%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,,%%%%%,%%%%%%%%%%,,,,%%%%%,,%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,%%%,%%%%%%%%%%%,,,,,,,,,%%%%%%%,%%%%%%%%,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,,,,**,,,,,,,,,,,i,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~,,,,,---------------------------------------------------------------------------------~~~---------------------------------------------------------~~~---------------------------~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~------------------%%.%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...........................................................................................................................--------,---------------------------------------------------------------------------------------------------------------------...,..................~~~~~~~~~...................i.............,,%%%%%%%%%,,,,,,,,%%%%,%%%%%%%%,,%%%%%,,%%%%,%%%%%,,,,%%%%%%%,%%%%%%%%%%%%%%,,,,,%%%%%%%%%,,,%%%%%%%%%%%%%%,,%%%%,,,,,%%%%%%%%%%%%%%%%,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~,,,,,,--------------------------------------------------------------------------,-------~-----------------------------------------------------------~-----------------------------~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~-------------.-..%%%.%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..............................................................................................................,,...,...%....------------------------------------------------------------------------------.----------------------------------------------.....,...,..i..........~...~~~~............................%...,,%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%,,%%%%%..%%%%%,,,,,,,,,,,%%%%%,,,%%%%%%%%%%%%%%,,,%%%%%%%%%,,,%%%%%%%%%%%%%%,%%%%%,,,,,%%%%%%%%%%%%%%%%,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%-,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,*****,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~,,,--,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~-------------------~~~~~~~~~~~~~~~~~~~~-----------------.%%%%%.%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..................................................................................................................,.......--------------------------------------------------------------------------------------------------------------------------%%..........i................~~~~~~~........................,,,,%%%%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%,,%%%%%,,%%%%%,,,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%,,%%%%%%%%%,%%%%%%%%%%%%%%%%,%%%%%,,,,,,%%%%%%%%%%%%%%%,,%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,------------------.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------,------------~~~~~~~~~~~~~~~~~~~~,-----------.----.%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~........................................................................................................................----------------,---------------------------------------------------------------------------------------------------------%%..........ii................~~~~~~~........................,,,,%%%%%,,,,,,,,%%%%,,,,,,,%%%%%%%%%,.%%%%%,,%%%%%,,,,,,,,,,,%%%%%,,,,%%%%%%%,,%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,%%%%%%%%%%%%%,,%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,****,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,^^^~~~~~~~~,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------~~~~~~~~~~~~~~~~~~~~,---------.------.%%.%%.%.%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~~~........................................................................................................,.,....---------------------------------------------------------------------------.-----------------------------------------------%...........ii................~~~~~~~.........................,,,%%%%%,,,,,,,,%%%%%,,,,,,%%%%%%%%,,,.%%%,,,%%%%%,,,,,,%%%%%%%%%%,,,,%%%%%%,,,%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,S**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,^^^^^^^^^^^~~~~~~,,,,,--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~,,----------------,,...%%%%%%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.............................................................................................................----------------------------------------------------------~~-----------------------,---------------------------------------...............................~~~~~~~..................,,*....,,,%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,%%%%%%%%%%%%%%%,,%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,^^^^~~~~~~~,,,,--------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~,,---------------,%%%%.%.%.%%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~........................................................,...................................................----..--------------------------------------------------~~~~~---------------------------------------------------------------............i.i..............~~~~~~~~~..................,*,,..,,,%%%%,%%%%%,,,%%%%%,,,,,,,%%%%%,,,,,,,,.,%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%%%,%%%%%%%%%%%%%%%%%%%%,%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,-.---~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,^^^~~~~~~,,,,,,--------------------------------------------------------------------------------------------------------------------------------------------------.----,.-------------------------------------------------------~~~~~~~~~~~~~~~~,,,---.-.---%%..-.,%%.%%.%%%%%%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...................................................................%%%%%..........................................-------------------------------------------------~~~~~~~-~~-----------------------------------------------------------,.......i......i.........%%%~~~~~~~~~............%..i...,*%%%%%,,,,%%%%%%%%,,,%%%%,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%%%,%%%%%,,%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~~~,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,------~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,^^~~~~~~,,,,,,,,,,----------------------.--.------------------------------------------------------------------------------------------------------------------------------------------.-------------------------------.--.-%%%%~~~~~~~~~~~~~~~,,,%%%.%%.-%%%%%%%%.%%%%%%%.%%%%%%..,..,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...~~.....................................................%......%%%%%%%.........................................------------------------------------------------~~~~~~~~~~~~-----------------------------,-----------------------------...............i.......%%%%%~~~~.~~....................,*%%%%%,,,%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,i,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%,%%%%%%%%%%%%%%%%%%%%%%~~~~,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,~~~~~~~~~~~~~~~~~~~~~~,,,--------~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,i,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,^~~~~~~,,,,,,,,,,,,--------------------------------------------------------------------~~~~~-------------------------------------------------------------------------------------------------------------------------%%%%%-%%%%.~~~~~~~~~~~~~~--%%%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~~~~~~~~..............................................,................................................,.........------------------------------------------------~~~~~~~~~~~-----------------------------------------------------------..............i...........%%,~~..~~..........,,,.,.....,*%%%%%,,%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%i,,ii%%%%%%%%%%,,%%%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%,%%%%%%%%%%%%%%%%%%%%%%%~~~~,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~,,,,~~~~~~~~~~~~~~~~~~~~~,,,,-----------~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,----------------------------------------------------------.---------~~~~~~-----------------------------------------------------------------------------,-----------------------------------------%%%%%%%%%%%%%%~~~~~~%%%~---.%%%%%%%%%%%%%%%.,%.%%%%%%%%%%%%%%%%%...%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...............................................................................%..........,.............--------------------------------------------------~~~~~~~~~~---------------------------------------------------------.............i................,~...~~~.~~~~~...,,,,,,,,.%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,i,,%%%%%,,,,,%%%%,,,,,,,,,,%%%%%%%%%%%%%%,,,%%%%%,,,%%%%%%%%%%%%,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%~~~,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~,,,,~~~~~~~~~~~~~~~~~~~~~---------------~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,~~~~~~i,,,,,,,,,,,,----------------------.----------------------------------------------~~~~------------------------------------------------------------------------------------------------------------------------%%%%%%%%%%%%%%,~~~~%%%%%.%%%%%%%%%.%%%%%%%%%..,%%%%%%%%%%%%%%%%%%.%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...............................................................................%%.......................--------------------------------------------------~~~~~~~~~~---------------------------------------------,---------.,,..............i...................~~~~~~~~~~~~%%%%,,,,,%%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,i,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,%%%%%%%,,,%%%%%%%%%%%%,,,,,,,,%%%%,%%%%%%%%%%%%%%%%%%%%%,,~,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,~~~~~~~~~~~~~~~~~~~~---------------~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,,,,,,,,----------------------------------------------------------------------~~~~~~~-------------------------------------------------------------------------------------------------------------------.--%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..........................................,,.....i..i..........................%%.......................----...-------------------------------------------~~~~~~~~~~-------------------------------------------------------.......,.............................%%~~~~~~~~~~%%%%%,,,,%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%,,,,%%%%%,,,,,,,i,i,,,,ii,%%%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%,,,,,,,,%%%%%%%%%%,,%%%%%%%%%%%%%%,,,,%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,~~~~~~~~~~~~~~~~~~~~---------------~~~~~~~~~~~~~-,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,,,------,,----------------------------------------------------------------~~~~~~~~--------------------------------------------------.--------------------------------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%.%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...............................................................................%........................---......------------------------------------------~~~~~~~~~---------------------------------------,----------.----........,.,.............................~~~~~~~~~%%%%%,,,,%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%,,,,,,,,,%%%%%%%%%,,,%%%%%%%%%%%%%%%,,%%%%%,,,----~~~~~~~~~~~~~~~~~~~~%%%%%,,~~~~~~~~~~~~~~~~~~~~---------------~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,i,,,,,,,,------,,,,----,---------------------------------------------------------~~~~~~~~-----------------------------------------------------------------------------------------------------------------%%%%%.%%%%%%%%%%%%%%%%%%%..%.%%%%%%%%%%%%.%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....................................................i...i......................%........................-........i-----------------------------------------~~~~~~-----------------------------------------------------......,,.....................................~~~~~~~~~%%%%%,,%%%%%%%%%%%%,%%%%%%%%,,,,%%%%%%%%%%%%%,,,,%%%%%,,%%%%%,,,,,i,i,,%%%%%,,,,,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%,,,,,,,,,%%%%%%%%%,,,%%%%%%%%%%%%%%%%,%%%%%,,,,---~~~~~~~~~~~~~~~~~~~~%%%%%,,~~~~~~~~~~~~~~~~~~~~---------------~~~~~~~~~~~~~,,,,,,,,,,,,,~~,,,,,i,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------~~~~~~---------------------------------------------------------------------------------------------------------------.--%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%,.%.%%.%%%.%%%%%%%%%%-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.....................................................i...........................................................,i.-----------.------------------------------~~--------------------------------------------------------............................................~~~~~~~~~~%%%%,,%%%%%%%%%%,,%%%%%%%,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,%%%%%,%%%%%i,%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%,%%%%%%%%%,,,%%%%%%%%%%,,,,,,,,%%%%%%%%%%,,,,%%%%%%%%%%%%%%%,%%%%%,,,,--~~~~~~~~~~~~~~~~~~~~~%%%%%,,~~~~~~~~~~~~~~~~~~~~,--------------~~~~~~~~~~~~~,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,i,,i,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------~~~~-----------------------------------------------------------.-------------------------------------------------------.%%%%%%%%%%%%%%%%%%%...%.%.%%%%%%%%%%%%%%%%%%%%%%%%%.,%.%,%%%.%%%%%%%%%%%%%%,,,~~~~~~~~~~~~~~~,~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~.........................................................i..........................................................---------------------------------.----------------------------------------------------------,-------........................%...................~~~~~~~~~~~~~~,,%%%%%%%%%%,,%%%%%%%,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%,,%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%,,,,,,%%%%,,,,%%%%%%%%%%,,,,,,,,%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%,,,,--~~~~~~~~~~~~~~~~~~~~~%%%%%,,,~~~~~~~~~~~~~~~~~~~~,--------------~~~~~~~~~~~~,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,****,,,,,,.,,,----------------------------------------------------------------~~~~---------------------------------------------------------------------------------------------------------,----------%%%%%.%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%.%%.%.%%%%%%%%%%%%%,%%..%%%%%%%%%%%%%%%,,,,~~~~~~~~~~~--,,,,,,~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~.........................................................i......%................................................i..-----------------------------------------------------------------------------------------------------.....,.................%%...............~~~~~~~~~~~~~~~~~~,%%%%%%%%%%,,%%%%%%%,,,%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%,%%%%%,i%%%%%,,,,,,,,%%%%,,,%%%%%,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%%,,,,,,,,,%%%%%%%%%%,,,,,,,,,,%%%%%%%%,%%%%%,,,,,,-~~~~~~~~~~~~~~~~~~~~~%%%%%%%,~~~~~~~~~~~~~~~~~~~~---------------~~~~~~~~~~~~,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,ii,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,****,.,,.,,,,,-----------------------------------------------------,-----------~~-------------------------------------------------.-----------------------------------------,--------------------------%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%.%%%%%%%..%%.%%%%%...%%%%%%%%%%%%%%.,,,,,~~~~~~~~~--,,,,,,,,~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~................................................................%...................................................-------------------------------------------------------------------------------------------------.---..............,........%%.............~~~~~~~~~~~~~~~~~~~~,%%%%,%%%%,,,%%%%%%%%%,%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,%%%%%%%,,,,,%%%%%,,,%%%%%%%,,,,,,,,,%%%%%%,,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,%%%%%,,,%%%%%,,%%%%%,%%%,,,,,%%%%%,,,,,,,-~~~~~~~~~~~~~~~~~~~~~,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****~,~~~,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%.%.%%%%.%.%%%%.%%%.%.%%%%%%%%%%%%.%.%,,,,,---------,,,,,,,,~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~........................................................,.......%.................................................,.-------------------------------------------------------------------------------------------------,,....,,.,.................%%..............~~~~~~~~~~~~~~~~~~~,,,,,,,*,,,,,%%%%%%%%%,%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,%%%%%,,,,,,,,%%%%%%,,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,%%%%%,,,%%%%%,,%%%%%,,,,,,,,,%%%%%,,,,,,,%%%%~~~~~~~~~~~~~~~~~~,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~---------~~~~~~~~~~~~~,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***~~~~~,,,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,,%%%%%%%%%%%%.%%%%%%%%%.%%%.%%%%%%%%%.%.%%%.%%%.%.%.%.%%%%.%%%%%%%%%%%%%%%%,,,,,---------,,,,,,,,~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------.....................................................................................................................--------------------------------.---------------------------------------------------------------....,......................%...............~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,%%%%%%%%%,%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%%%%%,,,,%%%%%%%%%%%%,,%%%%%,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,,%%%%%,,,,,,%%%%%~~~~~~~~~~~~~~%%%%%%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~~,,,,,,,,,,,~~,~~,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%%%%%%%%,,,,,,,,,,%%%,,,,,,,,,i,,,,,i,,,,,,,,,,,,,,.,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,~~~~*,,,------------------------------------------------------------------------------------------------------------------------------.----------------------------------------------------------,,,%%%%%%%%%%..,.%%%%%%%%%%%%%%.%%%%%.%.%%%%%%.%%.%%..%.%%%%%%%..%%%%%%%%%%%%,,,,,,-------,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------..............................................................,...................................................i.i----------------------------------------....----------------------------------------------------.,.,..,.,...................................~~~~~~~~~~~~~~~~~~,,,,,%%%%%,i,%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%%,%%%,,,,%%%%%,,,,%%%%%,,%%%%%,,,,,%%%%%,,,,,,,,,,%%%%%~~~~~~~~~~~~~~%%%%%%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%%%%%,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,---,,,,,**,,,-------------------------------------------------------------,-----,---------------------------------------------------------------------------------------------------------------------,,,,%%%%%%%%%%%.,%%%%%%%%%%%%..%%%%%%%%%%%%...%%%%.%..,.%%%%%%.%%%%%.%.%.%%%%%,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------....................................................................................................................-------------------------------,--------....-------------------------------------------------...-....,..,...................................~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,,,%%%%%%%%%%%%%,%%%%%%%%%,,,,,,,%%%%%,,,%%%%%,,,,,%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%,,,%%%%%,,,,%%%%,,,,%%%%,,,,,%%%%%,,,,,,,,,,%%%%%~~~~~~~~~~~~~~%%%%%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%%%%,,,,,,,,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,--------------,,,----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--,,,,,,%%%%%%%%%%.%%%%%%%%%%%%%.%%%%%%%%%%%.%%%%%%%%%.%%%.%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------%%%-........................................................,...,.......................................................----------------------------------------....-----------------------------------------%%%-----.....,..,,.,............-..............~......~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,,,ii,,,,,,%%%%%,%%%%%%%%%,,,,,,,%%%%%,,,%%%%%,,,,,%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%,%%%%%,,,,,%%%%%,,,,,,,,,,,,,%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%~~~~~~~~~~~~~~%%%%%%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,~~~,~~~,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,%%%%%,,,,%%%%%%%%%%%%%,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,-------------,,,-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,,%%%%.%%%%%%%%%%.%%.%%%%%%%%%.%%%%%%%%%%%%.%%%%%%%..%%%%%%%%%.%%%%%%%.%%%%%%%%%%,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------%%%%%................%%..............%%%.%%%%%.%%%..........%%%...,...................~.................................-----,-------------------------------.......-----------------------------------------%%%%%........,,.,.,.............--..............~~.....~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,i,,,ii,,i,%%%%%,%%%%%%%%%,,,,,,,%%%%%,,,%%%%%,,,,,,,,,%%%%%,,,%%%%%%%%%%%%%%%%%%%%,%%%%%,,,,,%%%%%,,,,,,,,,,%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%,,~~~~~~~~~~~~~~~~%%%%%%%%%,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%,,,,,,%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~-------------,,,--------------------------------------------------------------------,----------------------------------------------------------------------------------------------------------------,,----,%%%%%%%%%,%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%%%..%%%..%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------%.................................................................,...................~~....~~...........................------------------------------------........---....----%.....-----------------------........%...............................~~~.....~~~~....~~~~~~~~~~~~~~~~~~~,%%%%%%%%%%%%%,,,,,,,%%%%%,%%%%%,,,,,,,,,,,%%%%,,,,,%%%%,,,,,,,,,%%%%%,,,%%%%%%%%%%%%%%%%%%%%,%%%%%,,,,,%%%%%,,,,,,,,,,%%%%%%%%,%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,%%%%%,,~~~~~~~~~~~~~~~~~~-,%%%%%,,,,,,,%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%,,%%%%%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,----------,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------%%%%%,,,%%%%%.%%%.%%%%%%%%%%%%%%%...%.%.%%%%%%.%%%%%%%%%%%%,%.%.%%.%%%%..%%%%%%%.%%%%%%%,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------................................................................,,...................~~~~..~~~~~~.........................--------------------------------,--........%%%.i............--------------------...........%%.....................--......~~~~~..~~~~~~...~~~~~~~~~~~~~~~~~~~,,%%%%%,,,%%%%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,,%%%%%%%%%%%%,,%%%%%,%%%%%%,,,,,%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,%%%%%,,,,,%%%%%,,,,,,,%%%%%,,,%%%%%,,,~~~~~~~~~~~~~~~~~~-%%%%%,%%%%%,%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%,,%%%%%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,-----------,---------------------,----------------------------------------..-.-------------------------------------------------------------------------------------------------------------------%%%%%,,,-%%%%%%%%%%%%%%%%%%%%%%%.%%%%%.%%%%%%%%..,,,%%%%%.%.....%.%%%%%%%..%%%.%%%%%%%%%,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------.....................................................%................................~~~~~~~~~~~~..%....................-----------------------------------%..........................-------------------...........%%..........i...........-.......~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,,,%%%%%,,,,,,%%%,,,,,,,,,,,%%%%%,,,,,,,,%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,%%%%%,,,,,%%%%%,,,,,,,%%%%%,,,%%%%%%%,~~~~~~~~~~~~~~~~~~--,%%%%%%%%%,%%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~--,,,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%,,%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------~~~~~.~~.--------------------------------------------------------------------------------------------------------------%%%%%.%%,,-----,---.%%%%%%%%.%%%%%%%%%%%.%%%%%%%%%%,,,,%%%%.%%%%..%.%%%%%%..%%.%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------....%................................................%.............,.............~~....~~~~~~~~~~~..%....................-----------------------------------%..........................--------------..--%...........%%......................-.......~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,%%%%%%%%%%%%%%%%%%%%%,,,,,,%%%%,,,,%%%%%,,,,,%%%%%,,,,,,,,,,%%%%%,,,,%%%%%%%%%,%%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%%%%%,,,,,%%%%%,,%%%%%,,%%%%%,,,,,%%%%%,,,,,%%%%%%%%%%%,%%%%%,~~~~~~~~~~~~~~~~~~--,%%%%%%%%%,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~-,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%,,,%%%%%,,%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,,,--------------------------------------------------------------~~~~~~~~~-------------------------------------------------------------------------------------------------,,-----,,-----%%%%.---,,~~~~~~~--%%%%%%%%%%.%.%%%%%%%.%%%%%%%%%%%%,,,%%%%%%..%%.%%%%%%%%%%%%.%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------...%%................................................%......,..,,...............~~~~...~~~~~~~~~~~..%...................i.----------------------------------%%...............ii.......--------------.................%...............................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,%%%%%%%%%%%%%%%%%%%%%%,,.%%%%,,,,,,%%%%%,%%%%%%%%%%%,,,,,,,,%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,%%%%,,%%%%%,,,,,%%%%%,,,,,%%%%%%%%%%%,%%%%%,~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,--------------------------------------------------------------~~~~~~~~~------------------------------------------------------------------------------------------------,,,...,,,,---,%%%..--,~~~~~~~~~~%%%%%%%.%%%.%,%.%%%%%%%%%%%.%%%%%%%%,%%%%%%.%%%%..%%%.%.%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------....%%...........................................................................~~~~~~~~~~~~~~~~~~~.......................-----------------------------------%..................i.....--------------...............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-,,,,,,,,%%%%%%%%%%%%%%%%%%%,%%%%%,,,,,,%%%%%%%%%%%%%%%%%%,,,,,,,%%%%,%%%%%%%%%%%%,%%%%%%%%%%%%,,,,,%%%%%,,,,,,,,%%%,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,%%%%%%,,,,%%%%,,,,,,%%%%%,%%%%%,%%%%%,,~~~~~~~~~~~~~~~~~-%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,--,,,,---------------------------------------------------------------~~~~~~~~~---------------------------------------------------------------------------,------,------------,,,%%.%.,,,,--,%%.%%%,~~~~~~~~~~~%%%%%%%%%%%%.%%%%,%%%.%%%%%%.%%%%%%%%%%%%%%.%%%.%.%.%%%%%%%%%%.%.%%%%%%,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.-----~~~~~~~~~~~~~~~~~~~----......%%................................-...........................................~~~~~~~~~~~~~~~~~~~~~....................------------------------------------.......................----------------.,...........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%,%%%%%%%%%,,,%%%,%%%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%%%%%,%%%%%,,%%%%%,,,,,%%%%%,,,,,,,%%%%%,%%%%%,,,%%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%%,%%%%%,%%%%%,,~~~~~~~~~~~~~~~~~-%%%%%%%,%%%%%%%%,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,--------------------------------------------------------------~~~~~~~~~~---------------------------------------------------------------------------------------,,-------,.%.%%%,,,,,,,,.,%%%~~~~~~~~~~~~%%%%%%%.%.%.%%%%%%%%%%%%%%..%%%%%.%%%%%%%%%%..%%%..%.%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~~~~~~~~~~~~~~~~~----........%..................................-..........................................~~~~~~~~~~~~~~~~~~~~....................----------------------------------.........................-----------------....,......................................~~~~~~~~~~~~~~...~~~~~~~~~~~~~,,.,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%,%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%,%%%%%,,%%%%%,,,%%%%%%%,,,,,,,%%%%%,%%%%%,,,%%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%,%%%,%%%%~~~~~~~~~~~~~~~~-%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,,,,,,,,,,,,,,-----------,,,,,,,---------------------------------------------------------------~~~~~~~~~~--------------------------------------------------------------------------------------,,,-,-----,,%%%%%%,,,,,,,,%%%.~~~~~~~~~~~~~%%%%%%%.%..%%%%%%%%%%%%.%%%%%%.%%%%%%%%%%%%%..%.%%%%%.%%%%%%%%%%%%%.%,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~.............................................~.-,...,......................................~~~~~~~~~~....~~~~~~.................----------------------------------...........................----------------...,....,...................................~~~~~..~~~~~~......~~~~~.,,,,,,,,.,,,,,,,%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%,,%%%%%%%%,,,%%%%%%%%%,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,%%%%%,,%%%%%%%%%%~~~~~~~~~~~~~~~--%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,~~~~~~~~~,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,%%%%~,,,,,,,%%%%%%%%%,,i,i%%%%%%%%%%%%%%%%,,%%%%%%%%%,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,*****,,,,,,,,,,,,,,,,,,,,-----------,,,,,,,----,----------------------------------------------------------~~~~~~~~~~-----------------------------------------,--------------------------------------------,,,,----,,,.%%%.%..,%,,,,,,%%.~~~~~~~~~~~~~%%%%%%....%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%..%%%%.%%%%%%%%%,%%%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------~~~~~~~~~~~~~~.............................................~,..,..,,,,..................................~~~~~~~~~~.....~~~~~~~.................---------------------------------...........................----------------.,.,,,...,...............................~~.~~~~~...,,,,,.......,,...,,,,,,.,,,,,,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%,,%%%%%%%%%%%,,,%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,%%%%%%%%%%%%%%%%%%,~~~~~~~~~~~~~~-,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,,,,%%%%,%%%%%,,%%%%,,%%%%%%%%,,,,,%%%%%%%%%%%%%,,,,,,%%%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,,,,,,,,,,,,,------------,,,,,,,--,,,----------------------------------------------,-----------~~~~~~-~~------------------------------------,-------------------------------------------------,,,,,,-,,,,,%%.%%.%..%%,,,%%%%~~~~~~~~~~~~~,%%%%%%%%.%%%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%%.%%%%%%%%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~..........................................................................................~~~~~~~........%~~~~~~.................---------------------------------...........................-----------------,....,,................................~~~~~~~~,,...,.................,,.,,,,,%%%%**%%%%%,,*%%%%%%%%%%%%,,,,,,,,%%%%,,,,%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%,%%%%%,,,,%%%%%%%%%%%%,,,%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%,%%%%%%%%%%%%%%%%%%%,~~~~~~~~~~~~~~,,%%%%%%%%%%%%%%%%,,,,,,,i,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,%%%%%%%%%%,,%%%%%,,,,%%%%,,,i,,%%%%%%%%,%%%%,,,,,,,,,,%%%,,,%%%%%,,,,,,,,,,,,,,,****,,,,,,****,,,,,,,**,,,,,,,,,,,----------,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,,,,,,,.,,.%%%..%%%%%,~~~~~~~~~~~~~~,,,%.%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%.%%%.%%%%.%%%%...%..%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------~~~~~~~~~~....................................,..................,.................................~~~~~~~~........%%~~~~~..................---------------~~~~~~~----------...........................----..-----------.....,................................~~~~~~~~~-.,....,.,............,,,,,,,,%%%%%**%%%%%,,*%%%%%%%%%%%%,,.,,,,,%%%%%,,,%%%%%,,,%%%%%%%%%%%%%%%,%%%%%%%%%%,,,,,,,,,,,,%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,%%%%%%,~~~~~~~~~~~~~~,%%%%%%%,%%%%%%%%,,,,,i,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%~~%%%%%,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,S,,,,,,,,,**,,,,,,,,*,,,,,,,,,,,,-----------,,--,,,~,,,---------,-------------------------,---------------------------------------------------------------------------------------------------------------,,-----,,,,,,,,,,,,,,,,%%%%%%%%%%.,~~~~~~~~~~~~~,,,,%%%%%%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..%%%..,.%%%.%%%%%%%.%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------~~~~~..................................,..........~...,,...,,................................~~~~~~-%..........%~~~~~~~~~~................----------~~~~~~~~~~~-----.-.........................................----..,.....,............................~~~~~~~~~--,...,.,,,,,..........,,,,,.,,%%%%%***%%%,,,**%%%,,,%%%%%,%%%%%,,%%%%%,,,%%%%%%,,,%%%%%,,,,%%%%%,%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~%%%%%,,%%%%%%%%%,,,,,,i,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%~~%%%%%,,,,,,,%%%%%,i,,,%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,--,-----------,,~~~~~~~~~---,,----------------------------------------------------------------------------------------------------------------------------------~~~---,,,,----,,,,,,,,,,,,,,,%%%%%%%%%%%%,~~~~~~~~~~~~~,,,,%%%%...%%.%%%%%%%%%%..%%%.%%%%%%%%.%%%%%.%.%.%,.,.%%%%,.%%%%%%%.,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~..................................,...,..........,..................................~~~~~~~~~~..............~~~~~~~~~~~...............---------~~~~~~~~~~~~~---.................................................,..,,.%%%%%..........................~~~~~~~~---,,,.,,,,,,,.........,,,,,,,,%%%%%***,,,,,,,,*%%%%%%%%%%%%%%%%,,%%%%%,,,,%%%%%,,,%%%%%,,,,%%%%%,%%%%%%%%%%%,,,%%%%,,,,%%%%%%%,,,,,,%%%%%,%%%%%%%%%%%%%%%,%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%,,%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~%%%%%,,%%%%%%%%,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,~~~%%%%,,,,,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,S,,,,,,,,,,,SSS,,,,,,,,,,,,,,,,,,,,,,,---------------,,,~~~~~~~~,,,,----------------------------------------------,------------------------------------------------.--------------------------------~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%~~~~~~~~~,,,,,%,,.%.%.%%%%%%%%%%%%.%%%,%.%%%,%%%%%%%%%%%%%%%,,,,.%%.%%.%%%%..,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~~...................................,..................,.......%%%%%.................~~~~~~~~~~................~~~~~~~~~....,..........------~~~~~~~~~~~~~~~~~-.................................................,.....%%%%%%%...........................~~~~~~--,,,,,,,,,,,,%%%%%..%%%%%,,%%%%%%%%**,,,,,,,,,%%%%%%%%%%%%%%%%%,,,%%%%,,,,%%%%%,,,%%%%%%,,,%%%%%,%%%%%%%%%%%,,,%%%%%,,,,%%%%,,,%%%%,%%%%%,%%%%%%%%%%%%%%%,%%%%%,,,,%%%%%,%%%%%,,,,%%%,,,,,,%%%%%,%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~%%%%%,,%%%%%%%%,,,,,,,,i,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,%%%%%%,,~,,,,,%%%%,,,%%%%%,,,,,,,i,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,SSSS,,,,,,,,,,,,,,,,,,,,,,------------------,~~~~~~~~~,,,----------------------------------------,--------------------------------------------------------------------------------------~~~~~~~~~~,,,,,,,,..,.,,,,,,,,.%%%%%%%%%%%%%%%%%%~~.%~%%,,,,,,,,,,.%%%.%%%%%%%%%.%.%.%,.%%%%%%%%%%%%%%%..%%%,,,,,%%%%%%.%..,,.,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~~~..............................................~...............%%%%%%................~~~~~~~~~..................~~~~~~~~~~.............---~~~~~~~~~~~~~~~~~~~~...........................................%%%..........%%%%%%%...........................~~~~~%%%%,,,,,,,,,,.%%%%%..%%%%%,,%%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%,,,,,*,,*,,,%%%%%%%%%%%%%,%%%%%%%,%%%%%%%%%%%%%%%%%%%,,%%%%%,,,%%%%%,%%%%%,%%%%%%%%%%%%%%%,%%%%,,,,,%%%%%,%%%%%,,,%%%%%,,,,,%%%%%,%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,S,,,,,,,,,,,,,,,,,,,,,,---------------------~~~~~~~~~,-----------------------------------------------------------------------------------------,-------------------------------------~~~~~~~~~~~,,,,,%%,%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%.,,.,%%%%,%.%.%%%%%%%%%%%%%.%%%,,%%%%%.%%%%%%%%%%%%%,,,,%%%%%%%%...,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--..-----------------~~~~~~~........................................,...........................................~~~~~~~....................~~..~~~~~~~..............~~~~~~~~~~~~~~~~~~~~~..~,,,............................................................................~.....~~~~~-%%%%%%%%,,,,,,,....%%,,%%%%%,,%%%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%*,******,*,,,,,,%%%%%%%%%,%%%%%%%,%%%%%%%%%,%%%%%%%%%,,%%%%%,,,%%%%%,,,,,,,,%%%%%%%%%,,%%%%%,,,,,,,,%%%%%,%%%%%%%%%%%%%,,,,,%%%%%,%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%%,,~~~~~~~~~~,%%%%%%%%%%%%,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,%%%%%,,%%%%%%,,,,i,,,%%%%%,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,SS,,,,,,,,,,,,,,,,,,,,,,---------------------~~~~~~~~~~------------.--------------------------------------------------.--------------------------------------------------------------~~~~~~~~~~~~~,,,%%%.%.%...%%%%,%.%%%%%%%%%%%%%%%%.%%%%%%%.%%%%%%%%%%%%%%%%%%%%%,,%.%%.%%%,,%%%%%%%%%%%%%%%%%%%,,,,%%%%%%...,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----.......-----------~~~~~~~................................................................................~~..~~~~~~~~.........................~~~~~~~.......,.,.,...~~~~~~~~~~~~~~~~~~~~~~,,,...........................................................................~~~~..~~~~~~,%%%%%%%%%,,,,,,,...%%,,%%%%%,,%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%,,,**,******,*,*,,,,%%%%%%%%,,%%%%%%%,%%%%%%%%%,%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,%%%%%%%%%%%%%,%%%%%i,%%%%%,,,,%%%%%%%%%%,,,,,%%%%%,,.,i,,%%%%%,%%%%%%%%%%%%%%%%%,,,%%%%%~~~~~~~,%%%%%%%%%%%%,,,,i,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%%,,,,,,%%%%i,,,,,%%%%%%%%%%%%%%%%%%%%,,%%%%%,%%%%,,,,%%%%%,,,,,%%%%%,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,S,,,,,,,i,,,,,,,,,,,,,,,,,--------------------~~~~~~~~~~.----------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~,,,%%%,%%%%.%%%%%.%%.%%%%%%%%%%%%%%%,%%%%%%%%%%.%%%%%%%%.,%%%.%%%%%.%%.%%%%%,,%%%%%%%%%%%%%%%%.%%%%,,%%%,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----.,......--------~~~~~...................................................................................~~~~~~~~~~~~.........................~~~~~~~~....~...........~~~~~~~~~~~~~~~~~~~~~~,...................,.........................................................~~~~~~~~~~,%%%%%%%%%%%%,,,,,,%%%,,,%%%%%,,%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,,,,************,,,,,%%%%%-~~~,%%%%%,,,%%%%%%%%%,%%%%%,,%%%%%%%%%,,%%%%%%%%%,,,,,,,,,%%%%%%%%%%%%,%%%%%,,,%%%%,,,,%%%%%,%%%,,,,%%%%,,,,%%%%,,,,,,,,,,%%%%%%%%%%%%%%%,,,%%%%%~~~~~~~,%%%%%%%%%%%%%%%%%,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,,,,i%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%,%%%%%,,,%%%%%,,,,,,%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------~~~~~~~~~~~,,,-------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~,,,%%%..%%.%.%%%%%.%%%%%%%%%%%%%%%%.%%.%%%%%%%%%%%%%%%%%%%%%%%%..%.%%.,,.,,,,,,,,%%%%%%%%%..%%.%%%%,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------.........-------~~~~~..................................................................................~~~~~~~~~~............................~~~~~~~~...~~~.........~~~~~~~~~~~~~~~~~~~~~~~~,...,,...........,,,...,.....................................................~~~~~~~~,,%%%%%%%%%%%%%%,%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,,,,,%%%%%,%%%%%*,,********,*,,,%%%%%-~~~,%%%%%,,,%%%%%%%%%%%%%%%,,%%%%%%%%%,%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%,%%%%%,i,,,,%%%%%%%%%%,,,,,,,%%%%%,,,,%%%%%,,,,,,,,,,%%%%%%%%%%%%%%,,,%%%%%~~~~~~~,,%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%,,,,%%%,,%%%%%,,,%%%%%,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------~~~~~~~~~~~,,,------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~--,%%%.%%%%%.%.....%%%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%.%.%%%%%%.%..%,,,,,,,,,,,,%.%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------..........-----....~~....................-............................................................~~~~~~~~~~~~...........................~~~~~~~~~...~~~~........~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,....,....,,,,,,,,.....................................................~~~~~~~,%%%%%%%%%%%%%%%%,%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%,,*********,,,,,,,,,,-~~~~,,,,,,,%%%%%%%%%%%%%%%,,,%%%%%,,,,,%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%,%%%%%,,,,,,%%%%%%%%%%,,,,,,,%%%%%,,,,%%%%%,,,,,,,,,,,%%%%%%%%%%%%,,,,%%%%%~~~~~~~,,%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,%%%%,%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------~~~~~~~~~~~,,,,----------------------------------------------------------.------------------------------------------------------------~~~~~~~~~~~~~~~~--%%%,....%..%%.%%.%%%%%%%.%%.%%%%%%%%%%%.%%%%%%%%%%%%%.%%%,,.%%%.%%%,,,,,,,,,,,,,%%%%%%%%%%%.%%%%%,,.,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------.........,.----..........................-............................................................~~~~~~~~~~~~.............................~~~~~~~~~~~~~~~~~~..~~~~~~~~~~~~~~~~%%%~~~~~~~~~,,,,,,..,,,...,,,,,,,,.................................................~.~~~~~~~~~%%%%%%%%%%%%%%%%%,%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%,,,,,,,,,,%%%%%%%%%,,**********,*,i,,,,,~~~~~-,,~,,,%%%%%,%%%,%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%%%%,,,,~~,%%%%%,,,,,,%%%%,%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,%%%%%,,,,,,,i,,,%%%%%%%%%%%%%%,,%%%%%~~~~~~~,,,%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,%%%%%%%%,,%%%%%%%%%%%%%%%%%%,%%%%,,,,,,,,,,%%%,,,,,,,,,%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------~~~~~~~~~~,,-----------------------------------------------,----------------------------------------------------------.---------------~~~~~~~~~~~~~~~~--,%%%%%.,%%%%%%.%.%.%%%..%....%%%%%%%%%%%%%%%%%%%%%%.%%%%%,,.%%%%%.%,,,,,,,,,,,,%%%%%%%%%%%%%%.%%%,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~~-----------.......,...............................-...........................................................~~~~~~~~~...................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%~..~~~~~,,,,~~~~,,,,,,,,,,,,,,,...............................................~~~~~~~~~~~~%%%%%%%%%%%%%%%%%,%%%%%%%%%%%,%%%,%%%%%,,%%%%%%%%%,,,%%%,,,,,,%%%%%%%%%,**%%%%%******,,-,,,,~~~~~~,~~~,,%%%%%,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~%%%%%%,,,,%%%%%,%%%%%%%%%%%%%,,%%%%,,%%%%%%,,,,%%%%%,%%%%%,,,,,,%%%%%%%%%%%%%,%%%%%~~~~~~~~~,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%,,%%%%%,,,,,,%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------~~~~~~~~~~,,--------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~--,,,%%%%,%%..%%%%%,%%%%%%.%%%%%%.%%%%%%%%%%%%%.%%%%%%%%%%,,,...%%%%%,,,,,,,,,,,,,%%%%%%%%.%%.%%%%%%%,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~~------~~~~~~~~~~~~~~---------~------------...................................................................................................~~~~~~~~~....................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%....~~~~,,,,~~~~~~,,,,,,,,,,,,,,..............................................~~~~~~~~~~~~%%%%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%,,,%%%%%**,%%%%,---,~~~~~~~,~%%%%%%%%%%,,,,%%%%%,,,,,%%%%%%%%%%%%%,,,,,%%%%%~~~~~~~%%%%%%%,,,%%%%%,%%%%%%%%%%%%%,,%%%%%%%%%%%,,,,,%%%%%%%%%%%,,,,,,,%%,,%%%%%%%%,%%%%%~~~~~~~~~,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%,,%%%%,,,,,,,,,,,%%%%%%%%%,,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,%%%%%%%%,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------~~~~~~~~~~-,,--------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~---,,%%%%%%%%%%%%..,%%.%%%%%%.%.%.%%%%%%%%%%%%%%.%%%%%%%%%,.%%%%%%%.,,,~~~~~i,,,,,%.%%%.%%..%.%%%%%%%,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,-----------~~~~~~~~~------------------------........,..........................................................................................~~~~~~~~~..............................,......~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%..%%%....~,,,,,,,~~~~~~~,,,,~~~~~~,,,,,,...........................................~~~~~~~~~~~~%%%%%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%%%%%%,%%%%%%%%%%,,%%%%%%%%%%%%%%,,%%%%%,%%%%%*,*%%%%%---~~~~~~~~,~%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,~~~~~~~~~~%%%%%%%%%%%%%%,%%%%%%%%,,,,,,,%%%%%%%%%%%%%,,,%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%,%%%%%~~~~~~~~%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%%,,,,,,,%%%%%,,,,,,,,,%%%%%,,%%%%%%%%%%%,,,,,,,%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------~~~~~~~~~--------------------------------------------------------------------------------------------~~-----~~--------------------------~~~~~~~~~~~~~~~--,.%%%%%%%%%%%..%%%.%.%.%.%.%%%.%%%%%%.%%%%%%%%%%%%%%%.%.,%%%%%%..%%,,~~~~~i,,,,.%%%.%%%...%%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,------------------------------------------,...................................................................................................~~~~~~~~~........................,..,...........~~~~~~~~~~~~~~~~~~~~~~,,,......%.....,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,..........................................~~~~~~~~~~~~%%%%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%,%%%%%%%%%%%%%,,,,%%%%%,%%%%%,,*%%%%%---~~~~~~~~,~%%%%%%%%%%%%%%%%,,,,,,,,%%%%%%%%%%%%%,,,,,,,,~~~~~~~~,,%%%%%%%%%%%%%%,%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%,%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%~~~~~~~~%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,%%%%%,,,,,,,%%%%,,,,,,%%%%%,,,,,%%%%%%%,,,,,,,,,%%%%%,%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------~~~~~~~~~-----------------------------------------------------------------.-----.------------------~~~~~~~~~~~~----------,--------------~~~~~~~~~~~~~~~~-,,%%%%%%%%..%%%.%%%..%%%%%%.%%%%%%%%%%%%%%%%%%%%%%.%.%%%,%%%%%%%%%%,,~~~~~,,,,,,,%%%%.%%%%%%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,--------------------------------------.......................................................................%.............................~~~~~~~..............................,.........~~~~~~~~~~~~~~~~~~~~~,,,,...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,...........................................~~~~~~~~~~~%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%,,%%%%%%%%%%%%%,,,,%%%%%,%%%%%*,,%%%%%%%--~~~~~~~,,%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%%%%%%%%%%~~~~~~~~%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,%%%%%,,,,,,%%%%%,,,,,,%%%%%,,,,,%%%%%%%,,,,,,,,,%%%%%,%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------~~~~~~~~~,,---------------------------------------------------------------------------------------~~~~~~~~~~~~~------------------------~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%...%.%%..%.%%%%%%%%%%%%%%%%%%%%%%.%.%.%%%%%%%%,~~~~~~--i,,.%%%%%%%%%%.%%%%%%%.,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,-------------------------------------....................................................................,.,.%.............................~~~~~~~~~~......................,.,,............~~~~~~~~~,,,,,,...,,,,,,...........,,,,,,,,,..,,,..,,,,,,,,,,,..~,,,,..........................................~~~~~~~~~~~~%%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%%%,,,,,,%%%%%,,,,,,%%%%%%%%%%%%%,,,,%%%%%,,**,****%%%%%%%---------i,%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%%%%%,,,,,-~~~~~%%%%%%%,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,,%%%%%,,,,,,%%%%%,,%%%%%%%%%,,,,,%%%%%,,,,,,,,,,,%%%%,,%%%%%%%%,,,*****%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------~~~~~~~~~-,,--------------------------------------------------------------,------------------------~~~~~~~~~~~~------------------------~~~~~~~~~~~~~~~~~~.%%%.%..%%.%.%%%%%%.%%%%%%....%%%%%%%%%%.%%%%%%%%%%.%%%..,%.%%%%%%%,~~~~~~--,,,,%%%%%%%%.%.%%..%,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,------------------------------------,,.......................................................................%.............................~~~~~~~~~~~~.....................................~~~~,,,,..........,,,,,............,,,,,,,....,...,,,,,,,,,,,...~~,,,,,.......................................~~~~~~~~~~~~,,%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%,,***,*****%%%%%--------,,,,,%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%,,%%%%,,,,,,,~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,%%%%%%%%,,,~~~~~%%%%%%%,%%%%%%%%,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,,%%%%%,,,,,,%%%%%,,%%%%%,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%,,****,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------~~~~~~~~~~--,---------------------------------------------------------------------------------------~~~~~~~~~---------------------------~~~~~~~~~~~~~~~~~~~%%%%%%.%%%%%%%%..,,%%%...%%%.%%%%%%.%%%%%%%%%%%%%%.%%.%%%.%.%%%%%%,~~~~~~---,,,%%%%%%.%%%%%%%%%,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,----------------,,,,-------------,,,,,,,............................................................,......,%.............................~~~~~~~~~~~~...........................,..........,..,,...............,,.................,,.........,...,..,,....~~~,,,,.......................................~~~~~~~~~~~~,,%%%%%%%%%%%,,,,,,%%%%,%%%%%%%%%%,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,*,**********,%%%%%-------,,,,,,%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%,,%%%%%,,,,,,~~~~~~~%%%%%%%%%%%,%%%%%%%%%%%%%%,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,%%%%%%%%,,,~~---%%%%%,,,%%%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,%%%%,,%%%%%,,,%%%%%%%%%%%,,,,,%%%%%,,,,,,,,,,%%%%,,,***,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------~~~~~~~~~~-,-----------------------------------------------------------------------------------------~~~~-..--------------.--------------~~~~~~~~~~~~~~~~~~.%%.%.%.%%%%.%..%.,%%%%.....%.%%%.%%.%%.%%%%%%%%%%..%..%%%%%%%%%%,~~~~~~~--,,,%%%%%%%%%%%%%%%.%.%,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%,,,%%%%%,,,,,,,,,,---------------,,,,----------%%%%%,%%%%...................%%%..................%%%......................,,%%.............................~~~~~~~~~~~~.......................................................................................,............~~~~,,,,.......................................~~~~~~~~~~~~~,%%%%%%%%%%%,,%%%%%,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,%%%%,,,,,,,,,,,*,***********%%%%%,,,-,,,,,,,,,%%%%%%%%%%%,,,,,%%%%%%%%%%%%%%,,%%%%%%%%%,,~~~~~~~~%%%%%%%%%%,,,,,%%%%%%%%%%,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,%%%%%,,,,~---%%%%%,,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%%%%%%,,%%%%%%%%%,,,,,,,,,%%%%%*,****,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------~~~~~~~~~~~~,-----------------------,-----------------------------------------------------------------~~~~~--------------------------------~~~~~~~~~~~~~~~~~~~.%%%%.%%%%%%%%%%..%%%%%%%%..%%%..%%%%%%%%%%%%.%%%%....%%.%%%%%.%~~~~~~~~--,,,%%%%%%%%%%%%%%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,%%%%%,,%%%%%,,,,,,,,,,,--------------,,,,----------%%%%%%%%%%-.................%%%%%................%%%%%....................,..%%.............................~~~~~~~~~~~~.........................................................................................,.,.......~~~~~~,,,......................................~~~~~~~~~~~~~~,%%%%%%%%%%,,,%%%%%,,,,,,,%%%%%,,,,,,,,,,,%%%,,,,,,,,,,%%%%%,,,,,,,,**************,,%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%,,%%%%%%%%%,,~~~~~~~%%%%%%%%%%,,,,,,%%%%%%%%%%,,,,,,%%%%%,,,,%%%%%%%%%,%%%%%%%,,,,,,,%%%%%,,,,,,,,%%%%%,,,%%%-,%%%%%,,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,i,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%%%%%%,,%%%%%%%%%,,,,,,,,,%%%%%***,***,,%%%%,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,-----------,-~~~~~~~~~~~~~,,-----------------------------------------------------------------------------------------~~~~~-----------------------,---------~~~~~~~~~~~~~~~~~~~%%%.%%%%%%,%%%%.,%%%%.%%%..%%.%.%%%%%%%%%%.%%%%%%%%%,,.%%%%%%%%~~~~~~~~,,,,,%%%%%%%%%%%%%.%.%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,%%%%%,,%%%%%%%,,,,,,,,%%%%%----------,,,,,----,,,,-%%%%%%%%%%,......................,.,.,,.....................................................................~~~~~~~~~~~........................,....................,............................................,,,.......~~~~~~,,,......................................~~~~~~~~~~~~~~~%%%%%%%,,,,,,%%%%%,,,,%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,*,*************%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%,,%%%%%%%%%,,~~~~~~~%%%%%%%%%,,%%%%,%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%%%%%,,%%%%%%,,,,,,,%%%%%,%%%%%,,,%%%%,,%%%%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,%%%%%%%%%,,,,,,%%%%%%%%***,******,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,------------,~~~~~~~~~~~~~~,,------------------------------------------------------------------------------------------~~~-------------------------.--.-----~~~~~~~~~~~~~~~~~~%.%.%%,%%%%.%%%.%%%%..%%%%.%%.%%%%%.%%%%.%%%%%.,,%%%,,,%%%%%%%%%~~~~~~~~,i,,,%%%%%%%%.%%%.%%%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,%%%%%,,%%%%%%%,,,,,,,,%%%%%-%%%%%---,,,,,,,,,,,,,,,%%%%%%%%%%,~~~~..................,........,.................................................................~~~~~~~~~~~........................,,,,..,.......................................................,...........,.~~~~~~,.................................,.....~~~~~~~~~~~~~~~~,%%%,,,,,,,,,%%%%%,,,%%%%%%%%%%,,,,,%%%%%%%%%,,,,,,,,%%%%%%,,,,,,,**************%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,%%%%%,,~,,,~%%%%%%%,,,,,,%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%%%%,,,,,%%%,,,,,,,,,,,,,,%%%%%%%%,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%%,,,%%%%%%%%%,,,,,,%%%%%%%%**,,,****,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------~~~~~~~~~~~~~~~,,,--------------------------------------,--------------------------------------------------------------------.-%%%%.--------------~~~~~~~~~~~~~.%%%..%..,%%%%%.%.%%..%%%.%.....,%%%%%%.%%~~~%.%~~~~~~~~~,%%%%%%%%%~~~~~~~~,,,,,,%%%%%%%%%%%.%,,.%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,%%%,,,,%%%%%%%,,,,,,,,%%%%%-%%%%%---,,i,,,,,,,,,,,%%%%%%%%%%%%%%~~..................,.,..,...,.................................................................~~~~~~~~~~~........................,,,,..,.............,..........................................,............~~~~~~,.,....................................~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,%%%%%,,,%%%%%%%%%%,,,,,%%%%%%%%%,%%%%%,,%%%%%,,,,,,,***S***********%%%%%%%%%%%%%%%%%%%i%%%%%%%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,%%%%,,,,,,,,%%%%%%%%%%,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%%,,,%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------~~~~~~~~~~~~~~~,,----------------------------------------------------------------------------------------------------------.%%%%.%%%.----,--------~~~~~~~.~.~~.%.%%%%%%%,%%%%%%%..%.%%%%%.%%..,,%%%%%%~~~~~~~~~~~~~~~~~~~%%%%%%%%~~~~~~~~,,,,,,,,%%%%,%%,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,%%%%%%%,,,,,,%%%%%,%%%%%--,,,,,,%%%%%,,,%%%%%,,,,,%%%%%~~~..................,...,..................................,..................................~~~~~~~~~~~....................................................................................................~~~~~~~.......................................~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%,,%%%%%,,,,,,,,SSSS**********%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%,%%%%%,,,,%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%-,,%%%%%%%%%%%%,,,,,,,,,,,,,%%%%,,%%%%%,,,,,,,,,,,%%%%,,,,%%%%%%%%%%%%%,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%%%,,,,,,%%%%%,,,,,,%%%%%,,,,,,,,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------~~~~~~~~~~~~~~~~,--------------------------------------------------------------------------------------------------------.-%.%%%%%%%%-.---.....----%%%%~~~%%.~~%%%%.%..%%.%%%%%%%%%%%%%%%...%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~%%%%%~~~~~~~~~,,,,,,,,,,,,%,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,%%%%%%%,,,,%%%%%%%,%%%%%,,,,,,,,%%%%%,,,%%%%%%%%%,%%%%%~~~~~.........-.,,.,,,......,...................................................................~~~~~~~~~~..,......................,...........................................................................~~~~~~.......................................~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,%%%%%,,%%%%%%%%,,%%%%%,,,,,,,,SSS************%%%%%%%%%%%%%%%%%%%%%i,,%%%%%%%%%%%%,%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%---%%%%,%%%%%%%,,,,,,,,,,,,%%%%%,,,%%%%%%%%,,,,%%%%%%%%,,,%%%%%%%%%%%%%,,,,,%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%,,%%%%%%%%%,,%%%%%%%%%%%%,,,,,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i--------~~~~~~~~~~~~~~~~~,----------------------------------------------------------------------------------------------------------,%%%%%%%%%%%%%%%%%.%%-%%%%%%.%%%%%%%%%.%..%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%,i,i%%%%,,,,,,,,%%%%%,,,%%%%%%%%%%%%%%%~~~~~~........-..........,,.............................,.....................................~~~~~~~~~~~~~~......................,.....,......................................................................~~~~~~.......................................~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%%%,,,,%%%%%%%%%%%%,,,%%%%%,,%%%%%%%%,,%%%%%%%,,,,,SSS*************%%%%%%%%%%%%%%%,%%%%%,,%%%%%%%%%%%%%,,%%%%,,,%%%%%,,,,,,,,%%%%%,,,,%%%%%%%%%%~~-,,,,,%%%%%%%%,,,,,,,,,,,%%%%%,,,,,,%%%%%,,,,%%%%%%%%%%%%%%%%,,,,%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,%%%%%%%%%%%%,%%%%%,%%%%%%%%%%,,%%%%%,,%%%%%%%%%%%%,,,%%%%%.%%%%,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------~~~~~~~~~~~~~~~~,,,-------------------------------------------------------------------------------------------------..-----,%%%%%%%%%%%%%.%%..%.%.%%%%.%%%%%%%%.%.%.%..%%%%%%%%%%%%%%%.%%%%%%%.%%%%%~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,%%%%%,,,,,..,,%%%%%%%%%%%%%%%%%%%%%%,,,~~~~.......-...................................................%............................~~~~~~~~~~~~~~...................................................................................................~~~~~~,......................................~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,%%%%%%%%,,,,%%%%%,,,,,SS**%%%%%*******%%%%%%%%%%%%%%%,%%%%%,,%%%%%%%%%%%%,,,%%%%%,,%%%%%,,,,,%%%%%%%%,,,%%%%,,%%%%%~~~~,,,%%%%%%%%%%,,,,,,,,,,%%%%%%%,,,,%%%%%,,,,%%%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%%%,%%%%%%%,,%%%%%%%%%%,,%%%%%,,%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------~~~~~~~~~~~~,,,,,,,,-----------------------------------------------------------------------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%...%%%.%%%.%%%%%%.%%.%.,...%%%%%%%%%.%.%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,%%%%%,,,,,,.,,%%%%%%%%%%,,,%%%%%,,,,,,,,~~~~...........................................,..,..........%%............................~~~~~~~~~~~~~~.,,................................................................................................~~~~~~,....................................~~~~~~~~~~~~~~~~,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,%%%%%%%,,,,,%%%%%*,,SSSS**%%%%%********%%%%%%%%%%%%SSS%%%%%*,%%%%%%%%%%%,,,,%%%%%,%%%%%%,,,,%%%%%%%%%,,,%%%%%,,,~~~~~~,,,,%%%%%%%%%%,,%%%%,%%%%%%%%%%,,,,%%%%%,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,%%%%%%%%%,%%%%%%%%,%%%%%%%%%%,,%%%%%,,%%%%%%%%%%%%,,,,%%%%%.,.,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,i,,,,,--------~~~~~,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------,-------------%%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%.%%%.%%%%,.%%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,%%%%%,,,,,,,,,%%%%%%%%%%,,,%%%%%%%,,,,,,,,--...................................................,.....%%...,,........................~~~~~~~~~~~~...................................................................................................~~~~~~~~.................................-~~~~~~~~~~~~~~~~~~,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,,%%%,,,,,%%%%%,,,,,%%%%%%%%%,,,,,%%%%%,,,,,,,,,,,%%%%%%%%%S,,%%%%,,,,%%%%%%%%%,,,,,%%%%%,%%%%%,,,,,%%%%%%%%%,,,%%%%%,%%%%~~~~,,,,%%%%%%%%%%,%%%%%%%%%%,%%%%%,,,,%%%%%,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,%%%%%%%%%%%%,%%%%%%%%,,%%%%%%%%%,,%%%%%,,%%%%%%%%%%%%,,,,%%%%%,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~,,,,,,,i,,,,,,,,,,---------------------------------------------------------------------------------------------------%%%%%%%.%%%%%%%%%%%%.%%%%.,,,,,,%%%%..%.%,%%%.%..%%%%%%%%%%%%%%%%%%%%%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,,,,,,,,,%%%%%%%%%%,,,,,%%%%%,,,,,,,,-----......................................................%%...,,........................~~~~~~~~~~~...................................................................................................%~~~~~~~~................................-~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,%%%%%%%%%%%%,%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,%%%%%%%%%%%,,,,,%%%%%%%,,,,,,,,,%%%%%%%%**,*,,*,,,,$,,,,%%%%%,,,,,,%%%,,%%%%%,,,,,%%%%%%%%%,%%%%%%%%%%%%~~~~,,,,,%%%%%%%%%,%%%%%%%%%%,%%%%%%%%,,,,,,%%%%%,%%%%%%%%,,,,,,%%%,%%%,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%,,,%%%%%,,%%%%%,,,,,,,,%%%%%%%%,,,,,,%%%%%,,%%%%%,,,,,,%%%%%%%%,,%%%%%%%,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------.%%%.%%%%%%%%%%%%%.%%%%....%,.,.,,.%%%%%%%.%..%%..,%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%,,%%%%,,,,,,,,%%%%%,,,,,,,,,%%%%%,%%%,,,,,,%%%%%,,,,,,,,,----.......................................................%........,....................~~~~~~~~~~~...................................................................................................%%~~~~~~~..........................,....~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,%%%%%,,,,,%%%%%%,,,,,,,,,,,,,%%%%%,,,%%%%%,%%%%%,,,,,%%%%%%%,,,,,,,,,,%%%*,,,***,,,*,*,,$,,**,%%%%%,,,,,,,,,,%%%%%,,,,,%%%%%%%%,%%%%%%%%%%%%%,~~,,,,,,,,,,,%%%,,%%%%%%%%%%,,%%%%%%%,,,,,,%%%%%,%%%%%,,,,,,,,%%%%%%%%%,,%%%%%,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%,,%%%%%,,,,,,,,,%%%%%%%,,,,,,%%%%%%,%%%%%,,,,,,,,,,,%%%%%%%%%%%,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~,,,,,,,i,,i,,,,,,,,---------------------------------------------------------------------------------------,--------%%%%%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%%%%.%.%.%%%...%%.%.%%%%%%%.%%%%..%%%%%%%.-~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,.,,,%%%%%,,,,,%%%%,%%%%%,,,,,,,%%%%%......................................................................................~~~~~~~~~~~..........................................................................................,.,.,.....%~~~~~~~~...........%%.................~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,%%%%%,,,,,,**%%%,,,,,%%%%%,,,,,%%%,,,,%%%%%,%%%%%,,,,,,,%%%%%,,,,,,,,,,*,*,,,***,,*************%%%%%,,,,,,,,,,,%%%%%%,,,%%%,%%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,%%%%%,,,,,,%%%%%,%%%%%%%%%,,,,%%%%%%%%%,,%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%,,%%%%%%,,%%%%,,,,,%%%%,,,,,,,%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%%.,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------,,,-----%%%%%%%%%%%.%%%%%%%.%.%%.%%%%%.%%%%%%%...%%%%.,,%%%%..%.%%%%%%.%..%%.%%%%,----~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,%%%%%,,,.,,,%%%%,,,,,%%%%%,%%%%%,,,,,,%%%%%%...................................................,..................................~~~~~~~~~~~..........................................................................................,.........%~~~~~~~~...........%%..................~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,*****,,,,,%%%%%,,,,,,,,,,,,%%%%%,,%%%%,,,,%%%%%%%%,,,,,,,%%%%%,,,****,**,**********,%%%%%%%%%%%,,,%%%%%%%%,,%%%%%%%%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,,,%%%%%,,,,,,%%%%%,,,,,%%%%%,,,,%%%%%%%%%,,%%%%%,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,%%%%%%,%%%%%,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,----~~~~~~,,,,,,,,i,i,,,,,,,,,-------------------------------------------------------------------------------------,,,,,-,,%%%%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%,,%.%.%.,..%%%.%.%.%%%%.%.%%%%%%..%%----~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,%%%%%,,.,,,,%%%%,,,,,%%%%%,,,,,,,,,,,,%%%%%%.........................................................................-............~~~~~~~~~~~~...................................................................................................,~~~~~~~~~~.........%.....%%...~~.~~~...~~~~~~~~~~~~~~~~~~,,i,,,,,,,,,,,,%%%%%%%%%%%%%,******,,,,,%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%,,%%%,,%%%%%*,****,***************%%%%%%%%%%%,,,%%%%%%%%,%%%%%%%%%%%%%%%%%%~~~~~,,,,,,,,,,%%%%,,,,,,,,,,,,%%%%%,,,%%%%%,,,,,,%%%%%,,,,,%%%%%,,,,%%%%%%%%%,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,..,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%,,%%%%%,,,%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------------------,,,,,,,,%%%%%%%%%%%%.%%%%%%%%%.%%%%.%..%%%%%%%.,.%%%%%%%%.%%..%%.%.%.%.%%%.%%%%%%%----~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,%%%%%%%.%.....................................................................-.......%%%....~~~~~~~~~~~......................................................%....%%%.............................,.......,,~~~~~~~~~~..............~~~~~~~~~~~...~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%******,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,%%%%%,%%%%%,******,*******$$$*****%%%%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~~~,,,,,%%%%%%%%%%%%%%%%%,,,%%%%%,,,%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%,%%%%%,,,,%%%%,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~,,-,,,,,,,,i,,,,,,,--------------------------------------------------------------------------------------%%%,,,,%%%%%%%%%%%.%%%%.%%%%%%%.%.,.,%%%%%%%%%,,..,.%.%.%%%%%%%.%%...%%%..%%%%%%%----~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,,%%,,,,,,,,,,,,%%%,,,,,,,,,,,,,%%%%%%%..%..........%%%%%............................................................%%%%%...~~~~~~~~~~~.............................................%%%......%...%%%%%....................................,,,~~~~~~~~~%.......~....~~~~~~~~~~~~...~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%******,,,,,*%%%%,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,%%%%%%%%,%%%%%,,,,************$$*******%%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~~%%%%%,%%%%%%%%%%%%%%%%%,,,%%%%%,,,%%%%%,,,,,,,,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,%%%%,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~-----,,,,,,,,,,,,----------,,--------------------------------------------------------------------------%%%%%%%%%%%%%%%%%%%%,,,.,%.%%%.%%%%%%%,,,,%%%%%,,,,,.%%%%%%%%%%%.%%%.%%%%%.%%%%..%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,,,,,%%%%%,,,%%%%%,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%..........................................,...........................................~~~..~~~~~~...................................................................................,.................,~~~~~~~~~~%%....~~~~~~~~~~~~~~~~~~...~~~~~~~~~~~~~~~%%%i,,,,,,,,,,,%%%%%%%%,,,,%%%%%*******,,,,****,,,%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%**,,,********************%%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%~~~~%%%%%,%%%%%%%%%%%%%%%%%,,,%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~-----,,,,,,,,,,,,--------,,,--------------------------------------------------------------------------%%%%%%%%%%%%%%%%%%%,,,,,.%%.%%.%%%%%%%%,,.%%%%%.,,,,,%%%%%,%%%%%%.%.%%%%%.%%%%%%%%%%%%%%-~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,%%%%%%%%%,%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%,,,,,%%%%%%%%...........................................................................................~~~~~..~~..................................................................................,................~~~~~~~~~~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%,,,,,,,,,,,%%%%%%%,,,,,%%%%%**$$**,,,,,,,,,,%%%%%%%,,,,,,,,%%%,,,,%%%%%%%%,%%%%%%%%%%%%,,,*,,,,,,,*******************,***,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,~~~%%%%%,%%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%%,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~-----,,,,,,,i,,,,,,,,,--,,,,,-----------------------------------------------------------------------%%%%%%%%%.%%%%%%%%%.,,,,,,,.....%%%%%...%.,,,%%%,,,,%%.%%%%%.%%%%%%%.%%%%%%%%%.%%.%%%...%%.-,--~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%,,%%%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,%%%%%%,,,,%%%%%%%%............................................................................................~~~~~~~~................................................................................,,..,..............,i,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%,,,,,,,%%%%%%%,,,,,,,,,****$$*%%%%%,,,,,%%%%%%%%,%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,********************,,*%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,,%%%%%,%%%%%,,%%%%%%%%%%,,,,,,%%%,,%%%%%%%%%%,*%%%%%,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,~%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------,-~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------~~~~~~~~~---------..%%%%%%%%...%%%%%%%%%%%%.,.,,,,%%%%%.%%.%.%%.,,,,,..%%%%%%%%%%%%%.%.%%.%..%%%%%..%.%%%..%%%%%%%%---,~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%,,,,,,,%%%%%%%,,,,%%%%%,,%%%%%%%%%%%%%%,,%%%%%%%%%%%,,,,,,,,,,,,,%%%%%%,,,,%%%%%%%%%.......................%....................................................................~~~~~~~.....................................................................................................i,.,~~~~~~~~~~~~~~,,,~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%,,,,%%%%%%%%%%,,%%%%%********%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,**********************,%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%%%%,,,,,%%%%%%%%%,,,,,,%%%%%,%%%%%%%%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,~~~~~~%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------~~~-----,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------~~~~~~~~~~~-----.--%%%%%%.%%%%.,.%%%.%,..%.%.%%%%%,%.%.%.%.%.%.%.,,.,%%%%%%%%%%%%%%%%%%%.%%%%..%%.%%.%%.%..%.%.%%%%%..----~~~~~~~~~~~,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%%%,,,,,,%%%%%,,%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%,%%%%%%%,,,,,,,,,,,,%%%%%%,,,,%%%%%,%%%%%,%..........%%%.....,%%..................................................................~~~~~~~~~~..~~~~~.,...............................................................................................~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%,,%%%%%%%%%%%,,%%%%%********%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,*******************$*,,%%%%%,,,,,,,%%%%%%%,%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,%%%%%%%%%,,,%%%%%%%%,%%%%%%%%%%%%%%%%%,,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%~~~~~~~%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,,---~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,---,i,-----------------------------------------~~~~~~~~~~~~-,,,-,%%.%%%%.%%%%.%.,,.%%%.%%%%..,%%%%%%%.%%%%%.%%%.,,,%.%%%%.%%%%%..%..%%%%i..%%.%.%%%.%.%%%%.%%%%...%%%%%..-,--~~~~~,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%%%%,,,,,,%%%%%,,%%%%%,,,,,,,,%%%%%%%%,%%%%%%%%%%%%%%%%%%,,,,,,%%%%,,,%%%%,,,,,%%%%%,%%%%%,%%........%%%%,...,%%%.................................................................~~~~~~~~~~~~~~~~~~~,.......................................................................................i.i......~~~~~~~~~~,,,,..,~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%,%%%%%%%%%%%,,%%%%%********%%%%%,,,,,%%%%%,,,%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,**,,,******************%%%%%%%%%%,,,,,,,%%%%%%,,,%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,%%%%%%%%,,%%%%%%%%%,,,,,,%%%%%%%%%%%%,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,~~~~~~%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,ii,,,,,,,,,,,,-,,,,,,,----------------------------------------~~~~~~~~~~~~~,,,-%%%%%%%%%.%%%%%.,,%%%%%%%%.%%,%%%%%%.%%%.%.%%%.%.,%%%%%%%%%%%%%%%%%%%%%,,,%%%%.%%.%%%%%%%%%%.%...%%%%%%%%%,--,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%%%%,,,,,,%%%%%,,%%%%%,,,,,,,,,,,%%%%%,,%%%%%%%%%%%%%%%%%,,,,,,%%%%%%%%,,,,,,,,,,,,,,%%%%%,,%.........%%%,,,,,%%%%......,....%....................................................~~~~~~~~~~~~~~~~~~~,,...............................................................................................,,,~~~,,,,,,....,~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%*******,%%%%%,,*,,,,%%%%%,%%%%%%%%%%%%,,,,,,,,%%%%%,,%%%%%%%%%,,,,,,************************%%%%%%%%%%%%%%%,,%%%%%,,,,,,%%%%%%,,,,,,,,,,,%%%%%,,,,,,,,%%%%%,,,%%%%%%%%%,,,,,,,,,%%%%%,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,-~~%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~-,,,,,,,,,,,,i,i,,,,,,-------,,,,---------------------------------------~~~~~~~~~~~~~~,,%%%.%%.%%%%..%%.%.,.%%%%%%%%%%%,%.%%%%.%%.%%.%%%....%%%%%%%.%%%%%%%%%%.%%%i.%%%%%%%.%%%..%%%%%%%.%.%%%%%%%.%.-,,,,.,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,%%%%%%%%%,,,,,,,%%%%,,%%%%%,,%%%%%,,,,%%%%,,,%%%%%%%%%%%%%%%%%,,,,,,%%%%%%%%,%%%%%,,,,,%%%%%%%%%%%..........%%,,,,,%%%%....,......%...................................................~~~~~~~~~~~~~~~~~~~~,,,......................................................................................i.i....,,,,,,.,,,,,......,~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******,,,,,***$,,,,%%%%%,%%%%%%%%%%%%,,,,,,,,%%%%%,,%%%%%%%%%*,,,,****************%%%%*****%%%%%,,,,,%%%%%,,%%%%,,,,,,,,%%%%%%%%%,,,,,,,,%%%,,,,,,,,,%%%%%%%%%%%%%,,%%%%%,,,,,,%%%%%,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,~~~%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*^^**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~,,,,,,ii,,,,,,-,,,,,,---------,,,-----,---------------------------------~~~~~~~~~~~~~~,-%%%%%%%%%.%.%..%%.%%.%.%%..%..%..%%%%%%%.%%.%%.%%.%%%.%.%%%.%%%%%%%%%%%%%%,.%%%%%.%.%%%..,%%%....%%%%%%%%%..,..,,%%%,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,%%%,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,%%%%%%%,,,,,%%%%%,,,,,,,,,%%%%%%%%,%%%%%,,,,,%%%%%,,%%%%%..........,,,,,,,%%%,..........%...................................................~~~~~~~~~~~~~~~~~~~~,,.......................................................%%..........,.......................i..,,,,,....,,,......,,~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%,%%%%%,,*********,,,***$$**,,%%%%%,,%%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%,*****,,,~%%%%%%%%,,,,,%%%%%,,,,,%%%%%,,,%%%%%,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,,,,,,,,%%%%%,,-~~~%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,^^^^^*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,~~~~~,,,,,ii-------,,-----------,----------------------------------------~~~~~~~~~~~~~~,%%%%%%%%%%%%%%%...%.%.%%%.%.%%.%.%%.%%%%%%%%.%%%%.%%%%%%%%%%%%%%%%%%%%.%%%%%%%%...%%%..%%%.%.%...%.%%%.%%%%%%%%%%.%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,~~,,%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,,,,,,%%%%%,,,,,,,,%%%,%%%%%,,,,,%%%%%%%,%%%%%,,,,,%%%%%,,%%%%%,,,,,,....%%,,%%%%%,,......,,..%........................................................~~~~~~~~~~~~~~~,.......%................................................%%%...............................i.....,,,,............,,,,,~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%,%%%%%%,,*********,*****$$,,,%%%%%,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,%%%,%%%%%%%%%%,***,*,~~%%%%%%%%%,,,,,%%%%,,,,,,%%%%%,,,%%%%%,%%%%%%%%%%%%%%,,,,%%%%%,,,,,,,,%%%%%%%%%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,---~~~%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*^^^^^^*,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,--~--,,,,---------,-----------,---------------------------------------~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%..%%%..%%%,%%%.%.%.%%%%%%%%%%%%%%.%%%%,.%%%%%%%%%%%%%%%%.%%.%..%.,,,,,.%%%%%.,.%%.%%%%%.%%%%%%%%.%..%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,%%%%%,%%%%%%%%%%,,,,,,,,,,,,%%%%%%%,,,,,,,,%%%%%,%%%%,,,,,,,%%%%%,,,,,,,%%%%%%%%%%%,,,,,%%%%%,,%%%%%,,,,,,,,%%%%%%%%%%%%,.........,%....................,,...................................~~~~~~~~~~~~~~,.......%................................................%%%.............................%...............%.......,,,,,,~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%,,%%%%%%%%%%,%%%%%,,**S****S*******$,,**,%%%%%%,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%*,***,*%%%%%%%%%%%,,,,,%%%%%,,,,,%%%%%%%%%%%%%,%%%%%%%%%%%%%%,,,,%%%%%,,,,,,,%%%%%%%%,%%%%%,,,,,%%%%%%%%,,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,---~~~%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*^^^^^^,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~--,,,,---~~~~~~~~~~~-------,,,,-----------------------------------~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%.%%%.%.%.%,%%%.%%%%...%%%%%%%%%%%%%%.%..%%%%%%%%%%%%%...%%%%.%.%%....%%.%%%%%%%%.%%%%%%%%%%%..%%%.%%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,~%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%,,,,,,,,%%%%%%%%%%,,,,,,,%%%%%%%%%,,,%%%%,%%%%%%,,%%%%%%%%,,%%%%%,,,,,,,,%%%%%%%%%%%%,.........,........................................,.................~~~~~~~~~~~~~~,.......%................................................%%%.............................%%......i.......%......,,,,,,,%%%~~~~~~~~~~~~~~~%%%%%%%%%%%%,,,,,%%%%%%%,%%%%%,,,*S***SSSS******,,**,,%%%%%,,%%%%%,%%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%,****,%%%%%%%%%%%%,,,,,%%%%%,,,,,,,,%%%%%%%%%%,%%%%%,%%%%%%%%,,,,%%%%%%%%,,,,%%%%%,,,,%%%%%,,,,,%%%%%%%%,,,,,,,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,---~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*^^^^^^*,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~------,,,,-------------------------------,-~~~~~~~~~~~~~~~~~~%%%%%%%%%.%%%%..%%%%%..%%,%%%%%.%.%%%%%%%%%%%%%%%%.%.,..%%%%%%..%.%..%%%%.%..%%%.%.%.%.%..%%%%.%%%%%%%%,%%%.%%%.%.%%%%,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,%%%%%,,,%%%%%%%%%%%%%%%%%,,%%%%,,,,%%%%%,,,,,,,,,,,%%%%%%%%%%,,,,,%%%%%%%%%%%,,,%%%%%%%%%%,,,%%%%%,,,,,%%%%%,,,,,,,,%%%%%%%%%%%%%........,,....,...........%...,..........,..........................~~~~~~~~~~~~~~,,.......................................................%%%.............................%%.....................,,,,,,%%%%%~~~~~~~~~~~~--%%%%%,,,%%%,,,,,,,,%%%%%,%%%%%,,,***SSSSSSS,%%%,,,,,,,%%%%%,,,%%%,,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%*%%%******%%%%%%%%%,,,,,,,,,%%%%%%%%%,,,,%%%%%%%%%%,%%%%%,%%%%%,,,,,,,%%%%%%%%,,,,%%%%%,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%-,,,,,,,,,-----~---%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*^^^^^^**i*,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,---------------------------------~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%.%%%%...%%....%%.%%.%%.%%%.%%%%%%%%%%.%%,%%%%%%%%%%.%.%...%%%..%%%%..%%%%%%%%%.%%%%%%%%%%%,,%%%.%.%%%%%%,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%,%%%%%%%%%%%%%,%%%%%,%%%%%,,,,%%%%%,,,,,,,,,,,,~~~,%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,%%%%%,,,,,,,,,%%%,%%%%%%%%%........................%%......,.,..,.............................~~~~~~~~~~~~~~-,.......................................................%%%.............................%%.................%%,%,,,,,,%%%%%~~~~~~~~~~~---%%%%%%,,,,,,,,,,,,,,%%%,,%%%%%,,,,***SSSSS,,%%%%,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%%%,,*******,**%%%%%%%%%%%%%,,,,,,%%%%%%%%%,,,,%%%%%,,,,,,%%%%,,%%%%%%%%%,,,%%%%%%%%,,,,%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%----,,,,,,,--------%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*^^^,,^^^^^*,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~----,,,,,,--------------------------------~~~~~~~~~~~~~~~~~~~~%%%%%%.%..%%.%.%%.,,,.%%%%%..%%.%,,%%%%%%%%%%%%%%%%%%%%%.%%%.%%%%..%%.%.%..%%%%..%%.%%%%%%%%%%%%%%%%,,%%%%%...%%%%%.,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%,%%%%%%%%%%,%%%%%%%%,%%%%%,,,,%%%%%,,,,,,,,,,,~~~~~%%%%%,,,,%%%%%,,%%%%%%%%%%%%%%%%%,,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,%%%%%%%%%........................%%...,.,,...............,..................~~~~~~~~~~~~~-,,.......................................................%%.............,................%................%%%%%%%,,,,,%%%%%,~%%%%%~~~~,,-,%%%%%,,,,,,,,%%%%,,,,,,,,,,,,,,,,,*******,,%%%%,%%%%%%%%%,,,,,,,,,,%%%%%%%%%%,,,,,%%%%%%%%%%,,**********%%%%%%%%%%%%%,,,,,,%%%%%%%%%,,,,%%%%%,,,,,,,,,,,,,%%%%%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,%%%%%,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%----,,,,,,,--------%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,^^^^^,,,,,,,,,,,,i,,i,,i,i,,,,,,,,,,,,,,,,,,,,-,,~~~~~~~~~~~~~~~~~~~~~~~--,,,,i---------------------------------~~~~~~~~~~~~~~~~~~~~%%%%,%%%.%%%%..%%%%,,%.%.%.%%%%%..,,,%.%%%%%%%%%%%,%%%%%%.%%.%.%.%%%..%%%%%..%.%..%.%%%%%%%%%%..,%%%,%%%%%%.%.%.%.%,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%%%%,%%%%%,,,,%%%%%,,,,,,%%%%%~~~~~~,,,,,,,,%%%%%,,%%%%%%%%%%%%%%%%%,,,,%%%%,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%,%%.........,..............%%.......,........,.....-................~~~~~~~~~~~~~~--,,...........................................................%%%......,.....................%%%...........%%%,,%%%%,,,,%%%,,,%%%%%~~,,,,,,%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,********%%%%,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,,,,%%%%%,%%%%,,,*********%%%%%%%%%%%%%,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,%%%%%,,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%------,,,,,,--------%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,**^^^^^^,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,,,,---------,----------,-------------~~~~~~~~~~~~~~~~~~~~%%%%,,.%%%%%%%.%%%%%.%%%%...%%%.%.,,,.%%%%%%%%%%.,.%%%%%%.%%.,%..%%%%.,....%..%,.,..%%%%%%%%%%%%%%%%%%%%%%%....%%%..,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%%%%%,%%%%%%%%%%%%%,%%%%,,,,,%%%%%,,,,,,%%%%%~~~~~~,,,,,,,,,%%%%,,,,,,%%%%%%%,%%%%%,,,,,,,,,,,,%%%%%%%,,,,,,,,,,,,,,%%%%%,%%............................i...i.i..,....,.....................~~~~~~~~~~~.~---,,.......................................................................................................,,,%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,%%%%%,%%%%,,,%%%%%,%%%,,,,,,,,,,,,%%%%%****%%%%,%%%%%,,%%%%%,,,,,,,,,,,,%%%%%,,,,,%%%%%,,,,,,***********,%%%%%%%%%%%,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,%%%%,,,,,,,,,%%%%,,,,%%%,,%%%%%%%%%,,,%%%%%%,,,,,,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,%%%%%------,,--,,,-------%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,*^^^^^^^*,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,,-,---,,,,-,,,--,,,--,,,--,,,--------~~~~~~~~~~~~~~~~~~~~~%%%%.,%.%%%%.%%%%%%.%%%%%%%%%%%%,,,.%%.%%%%%%%,,,,%%%%%%.%%.%...%%%,,,.%%%%%%%.,,%%%%%%%%%%%%%%%%%%,%%%%%%%%%%.%%.,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,%%%%%~~~~~~,,,,,,,,,,,,,,,,,,,%%%%%%%,%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%,,,%%%........................,i....................................~~~~~~~~~~..................................,..........................................,.,................................,,%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%*********%%%%%%,%%%%%,,,,,,,,,,,,%%%%%,,,,,%%%%%%%%%,*************,%%%%%%%%%%,,,,,,%%%%%%%%%%,,,,,,,%%%,,,,,,,,,%%%%%%%%%%%%,,%%%%%,,,,,,,,,%%%%%,,%%%%%,%%%%%%%%,,,,,,%%%%%,,,,,,,,,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%---------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,*^^^^^^^**,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,-,,,--------~~~~~~~~~~~~~~~~~~~~~%%%%,,,%....%%%.%.%%%%......%%.,,.,,,%%%%%%%%%%,.,,,%%%%%.%%.%%.%,,,.%.%.%%%%..,%%%%%%%%%%%%%%%%%%%,,,,,%%%--%%..%.,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%i%%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,%%%%%~~~~~,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%,,,%%%%%,,,,,,,,%..................................,....,.....................~~~~~~~~~..................................,,.............................%...............................................,,%%%%%%%%,,,,,,%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%,%%%%%,,,,,,,,%%%%%%%%*********,%%%%%,%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%***********%%%%%%%%%%%%%%,,,,%%%%%%%%%%%,,,,,,%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,%%%%%,%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*^^^^^^^,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~-----,i,,,,,,,,,,,,,,,,,,,,---------~~~~~~~~~~~~~~~~~~~~~%%%%,,,%%%%%%%%%%%.%%..%.%..%...,,%%,%.%%%%%%%,,,,,,,.%%%%%%%%%%%.,.%.%...%%%%,,%.%%%%%%%%%%,.,,,,,,,,,,,----..,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,--%%%%~~~~~,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,%%%%,,,,,,%%%%%,,,,,,%%%%%,,,%%%%%,,,,,,,,%...........................i............................~...~~~~~~~~~~.................................................................%.............,,................................,,%%%%%%%%,,,,,,%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,%%%%%%%%%*********,%%%%%,%%%%%,,,,,,,,,%%%%,,,,,,,,,,,,,,%%%%%***********%%%%%%%%%%%%%%,,,%%%%%%%%%%%%%,,,,,%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%%,%%%%,,%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*^^^,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,-----..----~~~~~~~~~~~~~~~~~~~~~%%%%,,.,,,.%%%%%%..%%%.%%%%%%.%%.%%%%%%%%%%%%%,,,%%.%,%%%%%%%%%%%%,..%%%%.%%%%,%%%%%%%%%,%%,,,,...,,,,,,,-----,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%,i,%%%%%,,,%%%%%,,,,,,,%%%%%,,,,,,,,,,,,--~~~~~~~~~~,,,%%%%%,,,,,,,,,,,%%%%%%%,,,,,,,,%%%%%,,,,,%%%%%,,,,,,%%%%%%%%%%%%%,,,,,,,%...........................,,,..........................~~~~~~~~~~~~~~~.................................................................%..............,.................................,%%%%,,,%%%,,,,%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%,,,,%%%%,,,,,,,%%%%%%%%,***,*****,%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%***********%%%%%%%%%%%%%%,,,%%%%%%%%%%%%%%,,,,%%%%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,i,,,~~~~~~~~~~~,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--ii-----------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,-----..-----~~~~~~~~~~~~~~~~~~~~~%%.%,,.%.%%%.%.%%.%.%%.%%%%%.%%%,%%%.%%%%%....,.%%%%%,%%%%%%%%%%%%,.%.%%%%%%%%..%%%%%%%%,,%,,....%,,,,,,,,---,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%i,,,%%%%%,,%%%%%,,,,,,,%%%%%,,,,,,,,,,,--~~~~~~~~~~~~,,%%%%%,,,,%%%%%,,%%%%%%%%%,,,%%%%%%%%,,,,,,%%%%%,,,,,%%%%%%%%%%%%%,,,,,,........%%................i..,..........................~~~~~~~~~~~~~~~~~..................................,..............................%..............,.................................,,,,,,,%%%%%,,,%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%,,**,*****,%%%%%%%%%,,,,,,,,,,,%%%%%,,,,,,%%%%,,,%%%%%***********%%%%%,%%%%%%%%,,,%%%%%%%%%%%%%%,,,,,%%%,%%%%%,,,%%%%%%%%%%%%%%%%%%,%%%%%,,%%%%%,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,----.-.%--~~~~~~~~~~~~~~~~~~~~~~~~-,,%.%%%,%%%%.%%%%%%%%%%%%%%%.,%%%%%%%%%,%%.%%%%%%%.%%%%%%%.%%%,,%...%.%%%%%%.%%%%%%%%%,%.%%%...,,,------,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%i%%%%%%%%,,%%%%%,,,,,,,%%%%%,,,,,,,,,,,,--~~~~~~~~~~~,,%%%%%,,,,%%%%%,,%%%%%%%%%%,,%%%%%%%%,,,,,,%%%%%,,,,,%%%%%%%%%%%%%,,,,,........%%%.................,...........................~~~~~~~~~~~~~~~~~~~....................................,...........................%.........,......................................%%%%,,,%%%%%,,%%%%%%%%%%%,,,%%%%%,,%%%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,****,,,,,%%%%%,,,,*SSS*,,%%%%%,,,,,%%%%%,,,,,,,,********%%%%%%%%,,,,%%%%%,,,%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,~~~~~~~,,,,i,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,---.%%%%-~~~~~~~~~~~~~~~~~~~~~~~~~-.%%%%.,%%%%%%%...%%%%.%.%%%.,,,%%.%%%%.%%%%..%.%%%,,%%%%%%%%%,,%...%%.%%%%%%%%%%%%.%%%%..%%%%.,,--------,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,%%%%%,%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,,%%%%%,,,--~~~~~,~~~~,,,%%%%%%%,,%%%%%,,,%%%,%%%%%,,%%%%%%%%,,,,,,%%%%%,,,%%%%%%%%%%,,,,,,,,,,........%%%....................,..,.....................~~~~~~~~~~~~~~~~~~,................................................................................................................%%%%%%%%%%%%%,%%%%%,,%%%%%,,,,,,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,,,,****,,,,,%%%%%*****SSS***%%%%,,,,,,%%%%%,,,,,,,,**,%%%%,%%%%%,,,,,,%%%%%,,,,%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%,%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,~~~~~~~~,i,,,,,,,,,,,i,,,,,,,,,,,,,,,.,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,--.%%%%%.-~~~~~~~~~~~~~~~~~~~~~~~~~-%.%.%.%%%%%%%%.%%%.%.%%.%%.,,%%.%%%%%..%%%%.%%%%%,,%%%%%%%%%,,%%%%%%%%%%%.%%%%%.%%%%%%..%%.%.,----------,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,%%%%,%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,,%%%%%,,,,,-,~,,,,,,,%%%%%%%%%%%,%%%%%~~~,,~,%%%%%%%%%%%%%%,,,,,,%%%%%%%%,%%%%%%%%%%,,,,,,,%%%,,,.....%%%..................,......................~...~~~~~~~~~~~~~~~~~-.......................................,........%..........................,..,.....,...........................,%%%%%%%%%%%%%,%%%%%,,%%%%%,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%,%%%%%%%%%,,****,,,,%%%%%,,,,*,,,,,%%%%%,*%%%%%%%%%,,,,,,,,,,%%%%%,%%%%%,,,,,,%%%%%,,,,%%%%%%%%%%%%%%%,,%%%%%,%%%%%,,,,%%%%,,%%%%%%%%%%%%%%%,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,i,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,%%%%%%%%--~~~~~~~~~~~~~~~~~~~~~~~~~.%%.%%.%%%%%%%%%%%%%%%%%.,.,,,%%%%%%%%%%%%.%.%%%.%%,%%%%%%%%%,,%%..%%%%%%%%%%%%%%%%.%%%-%%.%%.-----------,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%%%%%%%%,%%%%%~~~~~~,%%%%%%%%%%%%%%,,,,,,%%%%%%%%,%%%%%,,,,,,,,,,,%%%......i..%%%.......................................~~~~..~~~~~~~~~~~~~~~~.....................................,...,,.......%......................................,..................,..........%%%%%%,,,,%%%%%,,%%%%%,,,,,,,,%%%%%%%%%%%%%%,,,%%%%%,%%%%,%%%%%,%%%%%%%%,,**,,*,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%,%%%%%,,,,,,%%%%%,,,,%%%%%,%%%%%%%%%,,%%%%%,%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,---,-----------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,%%%%~~~~~~~~~~~~~~~~~~~~--....%%%%..%%%.%%%...%%.%.%%%%%%%%%%%..%%%%,%%%%.%%%%%%%%%%,,,.%%%%.%%%%%%%.%%%%%%%%%%-.-..,---------------,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%%%%%%%%,,,,~~~~~~,,,,,,,,%%%%%%%%%,,,,,,%%%%%%%%,%%%%%,,,,,,,,,,,%%%....i....%%%.......................................~~~~~~~~~~~~~~~~~~~~~~...........................................,......%...........................,........,,...............................%%%%%,,,,%%%%%,,,%%%%,,,,%%%%%%%%%%%%%%%%%%,,,%%%%%,%%%%%%%%%%,,,,%%%%%,,,*,,**,,,,,,,,,,,,%%%%%%%%%%%%%%%%%*,,%%%%%,,,,,,%%%%%,%%%%%,,,,,%%%%%%,,,,%%%%%,,,,,,%%%%,,%%%%%~%%%%%,,,,,,,,,,%%%%%%%%%%%%%%,,,,,,,,,,,,~~~~,%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,i,,,ii,,,,,,,,,,,,,,,,,,~~~~~~,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~,,,,,,,,,,,,,,,,,,.%%%%.%%%%%.%%%%%%~~~~~~~~~~~~~~~~~~~--%%%%%.%%%%%%..,%.%..%%%%%%%%%%%.%%%%%.%.%.%%%%%%%%%.%%%.%...,,%.%%%%%%%%%%%%%%%%.%.%----------------------,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%%%%%%%,,,,.,,,,,,%,%,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%~~~,,%%%%,,%%%%%%%%%,,,,,,%%%%%%%%,,%%%%,,,%%%,,,...%.........i.%%.......................................~~~~~~~.~~~~~~~~~~~~~-................................................................................................................,......%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%,,,%%%%%,%%%%%%%%%%,,,,%%%%%,,,,%%%%%,,,,,,%%%%%%%%%%%%%%%%%%%%%%**,%%%%%,,,,,,%%%%%,,,,,,,,%%%%%%%%,,,,,%%%,%%%%,,,%%,,,,%%%%%~%%%%~~~,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,~~~~,,,,,,,,,,,,,,,%%%%%%%%,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,i,,,,,,,,,,,,,,,,i,,~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~--,,,,,,,,,,,,,,,.%%.%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~---%%%.%%.%.%%%%%%%%%%%%%%%%.%%%%%%%%%%.%%%.%%%%%%%..%.%%%%%%%.,.%%.%%%%%%%%%.%%%%.-.------------------------,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%%%%%%%,,,,,,,,,,%%%%%%%%%%,%%%%%,,,,,,,,%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%%~~~-%%%%%,,%%%%%%%%%,,,,,,%%%%%%%%,%%%%,,,%%%%%,.........,...............................................~~~~~~...~~~~~~....---......................................,,...............................................................................%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,,,%%%%%,%%%%%%%%%%,,,,%%%%%,,,,%%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%,,,,,,,,,,,%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%,%%%%~~~~~~~~,,,,,,,,,,,%%%%%%%%%%%,,,,,,,,,~~~~~~~~,,,,,,,,,,,,,,%%%%%%%,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~---,,,,,,,,,,,,,,,,.%.%%%.,%%%..%%%~~~~~~~~~~~~~~~~~~~-,-,,...%%.%%%%.%%%%%%%%%%%%%%%%%.%%%%%....%%%%%%%%%.%.%.%.%%%.%%%%%%%%%%%%%%%%%.----------------------------,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%%%%%%,,,,,,,,,,%%%%%%%%%%%,%%%%%,,,,,%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%~~~~%%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,%%%%%,%%%%%%%.%........,i............................................~~~~~~...................%....................................................................................................................%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%,,,%%%%%%%,,%%%%%%%%%%i,,,,,,,,,,,,%%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,%%%%%,,,%%%%%,,%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%-~~~~~~~~~~~~,,,,,,,,,,,%%%,%%%%%%,,,,,%%%%%~~~~~~,,,,,,,,,,,%%%%%%%%%%,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~--,,,,,,,,,,,,,,,,.%%%%%%%%%%%%%.-~~~~~~~~~~~~~~~~~~----,,,.%%%.%.%%%%%%%%%%%%%%%.%%%%%%%%%%..%%%%%%%%%.%%%%,..%%%%%%%%%.%%%%%%%%%%%.------------------------------,---,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,%%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%,%%%%%,,,,%%%%%%%%%%,,,,,,,,,,,,%%%%%%%%%%%%%%~~~~%%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,%%%%%,%%%%%%%%%.....,...............................................~~~~~~~........%%%.......%%.......................%%%.....................................................................................,....%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%,,,%%%%%,,,,,,,,,%%%%%,,,,,%%%%%,**%%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,%%%%%,,,%%%%%,.%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%-~~~~~~~~~~~~~,,,,,,,,,%%%%,,%%%%%%%,,,%%%%%~~~~~~~~~,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~--,,,,,,,,,,,,,,,,,.%%%%%%%%%%%.%--%%%%~~~~~~~~~~~~~--%%%,,.%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%.%%%%%%%%%%%%%%,%.%.%.%%%..%%%.%%%%%-------------------------------------,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%,%%%%%,,,,%%%%%%%%%%%%%%,,%%%%,,%%%%%,%%%%%%%~~~~~%%%%%%%%%,,,,,,%%%%%,,-%%%%%,,,%%%%%,%%%%%%%%%%...,................................................~~~~~~.......%%%%%%......%%....................%%%%%%%.......%%%..............................................................................%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%,,,,,,%%%%%%%%,,,,,%%%%%,,,,%%%%%%%,**%%%%,,%%%%%%%%%%%%%%,%%%%%%%%%%%%,%%%%%,,,%%%%%,,%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%-~~~~~~~~~~~~~~,,,,,,,%%%%%,,%%%%%%%,,,%%%%%~~~~~~~~~~--,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------~----------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~---,,,,,,,,,,,,,,,,%.%.%%%%%%%%%%%-%%%%.%%~~~~~~~%%%.,%%%,,.%.%.%.%%%%%%%%%%%%%.%%.%%,%%%...%%%%%%%%%%%%%%%%%,.%%%.%%%%%,-.%.%%%%%.------~~~~~~~~~~~~~~~~~~~~~---------,,
~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%,,,,%%%%%%%%%%%%%%,%%%%%,,%%%%%,,,,,,~~~~~~~~~,,%%%%%,,,,,,%%%%%---%%%%%,,,%%%%%,%%%%%%%%%%%...,.,............................................~~~~~~~................,...%..............................................................................................................,,...%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,%%%%%%%%,,,,,%%%%%%%%%%,%%%%%,,*%%%%,,%%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%,,,,%%%%%,,,%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~,,,,,,%%%%%,,,,%%%%%,,,%%%%%~~~~~~~~~~---,,,,%%%%%,,,,,,,,,,,,,,,,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,,,i,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~--,,,,,,,,,,,,,,,,,.%%%%%%%%%%%%%%%%%%%%%%.~~~~~%%%%.%%%%%,.%%.%%%%%%%%%%%%%%%%%%%%%%,%%%%%%.%%%%%%%%%%%%%%%,%.,...%%%%,,----%-%.%---~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,
~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%,,,,,%%,,,,,%%%,,,,,%%%%%,%%%%%,,%%%%,,,,,,,~~~~~~~~,,,,%%%%,%%%,,%%%%%~--%%%%%,,,,,,,,,%%%%%%%%%,,...............................................~~~~~~~~~~..................,%%..........................................................................................................,..,,,.,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,%%%%%%%%%%%%%%,%%%%%,,,,,,,,%%%%%%%%%%,,,,,,,,,%%%%%,%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,,,%%%%,,,,%%%%%,,,,,%%%%%%%%%%%%%%~%%%%%~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,-%%%%%%%%,%%%,,~~,-~~~-----,,,,%%%%%,,,,%%%%%,,,,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------,,,,,,,,,,,,,i,,,,,,,,,,,,i,ii,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~-,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%.%%%%%%%%%.%.%%%,,.%%%%%%%,,%%%%%%%%%%%%%%%%%%%..%%..%%%%%%%%%%%%%%-,,,,,%%%,,,,-----%---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------
~~~~~~~~~~~~~~~~~~~~%%%%,,%%%%%%%%%,,,,,,,,,%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,%%%,%,,,%%%%%,,,,%%%%%,%%%%%,,,,,,,,,,,%%%%%~~~~,,,%%%%%,%%%%%,%%%%%~~~----,,,,,,,,,,%%%%%,,,,...,.............................................~~~~~~~~~~..................,%%.........................................................................................................,.,,,,,%%%,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,%%%%%%%%,,%%%%%%%%,%%%%%,%%%%%%%%%%%,,,%%%,%%%%%,,,,,,,,,%%%%%,,%%%%%%%%%,,,,,,%%%%,,,%%%%%,,,,%%%%%,,,,,,,%%%%,,,,,,,%%%%%%%%~%%%~~~%%%~~~~~~~~~~~~~~~~~~~~~~~%%%%%-----%%%%%%%,,,,,,,,,~~~~~----,,,,%%%%%,,,,%%%%%,%%%%,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,i,,,,i,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,-,,,,-------,,,,...%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,%%%%%%%%%%%%.%%%%%,%..%%%%%%%%%%%%%%%%---,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------
,,,,,,.~~~~.,,,,,,,%%%%%,,%%%%%%%%%,,,,,,,,,%%%%%%%%%%%%%%%%%%,,,,%%%%%,,%%%%%%,,,%%%%%,,,,%%%%%%,%%%%,,,,,,,,,,%%%%%%%~,,,,,%%%%%,%%%%%,%%%%%~~~~~~-,,,,,,%%%%%%%%%,,,.....,..........%................................~~~~~~~~~~,,..................%%..........................................................................................................,,,,,%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%,%%%%%,,%%%%%%%%%%%,,,,,,%%%%%,,,,,,,,,%%%%%%,,,,%%%%%%%%%%,%%%%%,,,%%%%%,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------%%%%%,,,,,,,,-~~~~~---%%%%%%%%%%,,,,%%%%%%%%%%,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----i,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,i,i,,i,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~,,,,,,,,,--,,,,-------,,,,,%%%%%%%%%%%%%%%%%%%%%..%%%%%%%%%%%%%%,,,,,%%%%%,%%.%%%.%%%,%.%%%.%%%%%%%%%%%%%~~~-,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------
,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%,%%%%%,,,,%%%%%%%%%%%%%%%,%%%%%,,,,%%%%%%,,%%%%%,,,,,,,,%%%%%%%,%%%%%%%%%%,%%%%%,,,,,~~~~~~~~~,%%%%%%%%%,,,,,,,,....,.........%%............................~...~~~~~~~~,,,,................,.%%...........................................................................................................,,,,%%%%%~,,,,,,%%%%%%%%%%%%%%%,,,%%%%%%%%%%,%%%%%,,,%%%%%%%%%%,,,%%%%%%%%%%,,,,,,%%%%%,,,,,,%%%%%%%%%,,,%%%%%,%%%%%,%%%%%,,,,,,%%%%%,%%%%%,,,,,,,,,,,%%%%%%%%%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----%%%%%%,,,,,,,,-~~~----%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~,,,,,,-----,,---------,,,,%%%%%%%%%%%.%%%%%%%%%%.%...%%.%.%%%%.,,,,,,--%-,,%%%%%%%%%,%%%%%%%,,%,,%%%%%%~~~~--,,,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------
,,,,,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,%%%%%%%%,,,,,%%%%%%%,%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%,,,,%%%%%%,,%%%%%,,,%%%%%%%%%%%%,%%%%%%%%%%,%%%%%,,,,,~~~~~~~~~,%%%%%%%%%,,,,,%%%%..,,.........%%...........................~~~~~~~~~~~~.......................%%...............................%...........................................................................,,,,%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,%%%%%,,,,,,%%%%%,,,,,,,%%%%%,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%%,,,%%%%%,%%%%%,%%%%%,,,,,,%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----%%%%%%%,,,,,,,--------%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,i,i,,,,,,,,,,,,,,,,,,,,,,,-------------,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,--------------,,-,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,~~~~~~~~~~,,,--------,---------,,,,%%%%%%%%%.%%%%%%.%%%%%.%%%%%%%%%%%%%%,,,,,,----,**..-.,,,.,%.%.%.%.,,,,,,,%~~~~~~~,,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------
,,,,,,,,,,,%%%,,,,,%%%%%,,,%%,,%%%%,%%%%%%%%,,,,,%%%%%%%,%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%,,,,,%%%%,,,%%%%%,,,%%%%%%%%%%%,,%%%%%,%%%%,%%%%,,,,,,~~~~~~~~~,%%%%%%%%%,,,,%%%%%,,,%%........%%...........................~~~~~~~~~%%%,.......................%...............................%......................................,....................................,,,%%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,%%%%%,,,,,,%%%%%,,,,,,,%%%%%,,%%%%%%%%%%%,,,,,,,%%%%,,,,,,%%%%%%%%%%,,,%%%%%,%%%%%,%%%%%,,,,,,%%%%%%%%%%,,,,,,,,,,,,%%%%%%%%,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%%%%%%,,,,,,,--------%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,~~i,,,,,,,,,,,,,,,,,,,,,,,,-------~~-------,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,i,,,i,,,,,,,,,,,,,,~~~~~~~~~~~,,------------------,,,,%%%%%%%%%%%%%%%%%%%%%.%.%.%%.%%%%%%%,,,,,,,,------%%%.%.,,,%%.%%%%.,,,,,,,~~~~~~~~~,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------
,,,,,,,,,,%%%%%,,,,%%%%%,,,,,,%%%%%%%%%%%%%%,,,,%%%%%%%%,%%%%%,,,,,,%%%%%%%%,%%%%%,,%%%%%,,,,,,,,,,%%%%%,,,%%%%%%%%%,,,,%%%%%,,,%%%%%%%%,,,,,,~~~~~~~,~%%%%%%%%%,,,,%%%%%,,%%%........%%...........................~~~~~~~~.%%%%.......................................................%..........................................................................,,,,%%%%%,,,,,,,%%%%%,%%%%,,,,,,,,,%%%%%,,,,,,%%%%%%%,,,%%%%%%%,,%%%%%%%%%%%,,,,,,,%%%%%,%%%%%%%%%%%%%%,,,%%%%%*%%%%,,,,,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%,,--,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%%%%%,,,,,,,,-------%%%%%,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,---,,,,,,,,,,,,,,,,,,------------------,---,,,,,,,,,,,,,,,,,,,,,,,,,,i,ii,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~------------------,,,,-%%%%%%%%%%%%%%%%%%%%.%%%%.%.%%%%%.,,,,,---------.%%%%..,,,,,%%%..,,,,,,,,~~~~~~~~~~,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------
,,,,,,,,,,%%%%%,,,,%%%%%,,,,,,%%%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,%%%%%%%%%%,,,,,%%%,,,%%%%%,,,,,,,,,,%%%%%%,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%~~~~~~%%%%,,,,,,,,%%%%%,,%%%%%......%%..........................~~~~~~,...%%%%.....................................................................................................................,.%%........,,,,,%%%%%,,,,,,%%%%%,,,%%%%%,,,,,,,,%%%%,,%%%%,,%%%%%,,,%%%%%,,,,%%%%%%%%%%,,,,,,,,%%%%%,%%%%%%%%%,,,,,,,,,,,,*%%%%%,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,----,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%%%%,,,,,,,-,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,----,,,,,,,,,,,,,,,,,,----------------------,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,i,,,i,,,,,,i,,,,,,,,,,,,,~~~~~~~~~~~~~~~~---------------,,,,--%%%%%%.%%%%%%%%%%%%.%%%.%%%...%,,,,------------.%%%%..-,,,%%%%%,,,,,,,,,,~~~~~~~~~~,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,%%%%%%,,,,%%%%%,,,%%%%%%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%,%%%%%%%%%%%%%,,,%%%%%%%%%%%%%,,,,,%%%%%,,~~~~,,,,,,,,,,,,,%%%%,,%%%%%%......%..........................~~~~~~,....%%.......................................................................................................................,,,,..%%%%%,,,,,,%%%,,,,,,,%%%%%%%,%%%%%,,,,,,,,,,,,,%%%%%,,%%%%%,,,%%%%%,,,,%%%%%%%%%%%,,,,,,,%%%%%,%%%%%,,,,%%%%,,,,,,,,,%%%%%,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,~~~~~~~~~,,.i,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,--------,-,,,,,,,,,,,,,,---------------------,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,i,i,,,i,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~--------------,,,-.%%%%%%%%%%%%%%%%%%%.%%.%%%%%..,,%,-------------.%.%%%----,%%%%%%%%,,,,,,,~~~~~~~~~,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,%%%%%%%,,,,%%%%%,,,%%%%%%%%%%%,%%%%%,,,,%%%%,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,%%%%%,,%%%%%,,,%%%%%%%,,,,,,,,,%%%%%,,,%%%%%%%%%%%%%,,,,,%%%%%~~~,~~,,,,,,,,,,,,,,,,,,,%%%%%%................................~~~~~~%%%...........................................................................................................................,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,%%%%%,,,%%%%%%,,,,%%%%%%%%%%%,,,,,,%%%%%,%%%%%,,,,%%%%%,,%%%%%,%%%%%,,,,,,,,%%%%%,%%%%%,,%%%%%%%%%,,,,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,~~~-~~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,---------------------,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,i,,,i,,,,i,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~------------------%%%%%..%%%%%%%%%%%%%%%.%.%%%%%%%--~~~~~~~~~~~~-.%..%.----%%%%%%%%%,,,,,,,,~~~~~~,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,%%%%%,,%%%,%%%,,,,,%%%%%,,%%%%,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%,%%%%,,,,,,,,,,,%%%%%,,%%%%%,,,,%%%%%%,,,,,,,,,%%%%%,,,%%%%%%%%%,,%%%,,,,%%%%%%,,,,,,,,,,,,%%%%,,,,,,,,%%%%%%................................~~~~~%%%%...............................................................i...........................................................,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%%%,,,%%%,,,,,,,%%%%%,,,%%%%,,,%%%%%%%,,,,,%%%%%%%%%,,,,,,,,,,,,%%%%%,,,,%%%%%,,%%%%%,%%%%%,,,,,,,,%%%%,,%%%%%,,%%%%%%%%%,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%%,,,,,,,%%%,%%%%%,,,,,,,,,,,,,,%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,~~~,-~~~~~~,,,.,,i,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,,,,,,,-----------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~-----------------%%%%%%%%%%%%%%%%%%%%%%%%%%,.%%%%~~~~~~~~~~~~~~~~..-------%.%%%%%%%,,,,,,,,,~~~~,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%%,%%%%%%%%%,,,,%%%%%,%%%%%,,%%%,,,,,,,,,,,,,,,,%%%%%%%%%%,,,%%%%,,,,%%%%,,,,,,,%%%%%,,,,,,%%%,,,,,%%%%%%%%%%,,,%%%%%,,,,,%%%%%,%%%%%%%%,,,,,,,,,,,,%%%%%,%%%%%,,%%%%%................................~~~~~%%...............%...........................................i............................................................,.....,,,,,,,%%%%%,,,,,,,%%%%,%%%%%%%%%%%,%%%%,,%%%%%,,,,,,%%%%,,,,,,,,,,%%%%%%%%,,,,,,%%%%%%%%,,,,%%%%%,%%%%,,,,,,,%%%%%,,%%%%%,%%%%%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%%%%,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,--------~~~~~~~~,,,,,,-----i,,.,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,,,,,------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.~~~~~~~~~~~~~~~~~~~~~~~-----------------%%%%%%%%%%%%%%.%%%%%%%%%%.%%%%%~~~~~~~~~~~~~~~~~-------.%%%%%%%,,,,,,,,,,,~~~,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%%%%%%%%%%%%,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,%%%%%,,,%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%,%%%%%%%%%%,,.....%%...................~~~~~~~~~~~%%...............%...............................................%.......%%%%%............................,....................,,,,,,,,,%%%%%%,,,,%%%%%,%%%%%%%%%%,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,,%%%%%%%,,,,%%%%%,%%%%%,,,,,,%%%%%%,%%%%%,,,,,%%%%%,,,%%%%,,,,,,,,,,,%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%,,,,%%%%,%%%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------~~~~~~~~~~~~~~~~,,,,,,-,,,i,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,-----------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------.--%%%%%%%%%%%%%%%%%%.--%.%%~~~~~~~~~~~~~~~~~------.%%%%%%%,,,,,,,,,,,,,,,,,%%%--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%,%%%%%%%%%%,,,,,,,,,,%%%%%,,,%%%%%,,,,,,,,,,,,,%%%%%%%%%%,,%%%%%,,,%%%%%%%%%%,,,%%%%,,,,,,,,%%%%%,%%%%%,,,,%%%%,,,,,,,,,,%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%,%%%%%%%%%%%,.....%%.....................~~~~~~~~,,%...............%.....................................ii....i...%......%%%%%%%...............................................%%%%%,,,,,,,%%%%%,,,%%%%%,%%%%%%%%%%,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%,%%%%%,,,,,,,%%%%%,%%%%%,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%,,,%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~,,,,,,.,,,,,,i,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,------------------------.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~----.%%%%%%%%%%%%%-------~~~~~~~~~~~~~~~~~~~~~------%%%%%%,%%%%,,%%%%%,%%%%%%%%%-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%,%%%%%%%%%%,,,,,,,,,,,%%%%,,,%%%%%,,,,,,,,,,,,,%%%%%%%%%%,,%%%%%,,,%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,%%%%%%%,%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%,%%%%%%%%%%%,,...%%%%................%....~~~~~~,,,,,.....%.................................................i...i..%......%%%%%%%......................................%........%%%%%%%%%,,,%%%%%,,,%%%%%%%%%%,%%%%%,%%%%%,,,%%%,,,,,,,%%%%%,,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%,%%%%%%%%%,,,%%%%%,,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,,,,,,,,,,-----------------------,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,%%%%.%%%%%%.------~~~~~~~~~~~~~~~~~~~~~~------%%%%%%,%%%%%,%%%%%%%%%%%%%%%------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%,,%%%,,,,,,,,,,,,,%%%%%,,,,,,%%%%%,,,,,,,,,,%%%%%,,,%%%%,,,,%%%%,,,%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,%%%%%%,%%%%%%%%,,,,,,,,,,,,,%%%%,%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,%.............,......%%~~..~~~~~-,,,,,..................,................,.,........................................%...........i.............................%%..%%%%%%%%%,,%%%%%,,,%%%%%%%%%%,,%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%%%,%%%%%%%%,,,,%%%%%%%%,%%%%%%%%%%,,%%%%%%%,,,%%%,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,**,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----,--,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,--,,,,------------------------,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%%%%%%%%%%------~~~~~~~~~~~~~~~~~~~~~~-----,%%%%%,,%%%%%.%.%%%%..%%%%%%%------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,%%%,,,,,,,,,,%%%%,,,,,,,,,,,,,,,%%%%%,,,%%%%%,%%%%%%%%,,,,,,,,,,%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,%...%..............%%~~~~~~~~--...,.........,...,...,,,.............,.,...........................i...............%............i..........................%%%%,%%%%%%%%%%,,,%%%,,,,,..%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%%%,%%%%%%%%%,,,%%%%%,,,,,,***%%%%%,,,,%%%%%,,%%%%%,,%%%%%%%%%%%%,,,,,,%%%%%,,,,%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,~~........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,**,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------~~~~~~~~~~~~~~~~~~~~~~~~-----%%%.,,,%%%%.%.%.%..%%..%%%%------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%,,,,,,,%%%%%,,,%%%%%,,%%%%%,,,,%%%%,,,,,,,,,,,,,,,,,,,,%%%%,,,,%%%%%,%%%%%%%%,,,,,,,,,%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,,,,,,,.%.%.........,......~~~~~~~~~-.....................,,..,,,................................................................................................%,,,,,%%%%%%%%%,%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%%%,%%%%%%%%%,,,%%%%%,,,,,****%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,~~~~~........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,.%%%%%%%%%%.%.%.%%%%-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,%%%%%,,%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,%%%%%,,,%%%%%,,%%%%%,,,%%%%%,,,%%%%%,,,,,%%%%%,,,,,,,,,,,%%%%,,,,%%%%%%%%,,,,,,%%%%%%%%%%,,,%%%%%,,,%%%%,,%%%%%,%%%,,,,,,,,,,,...................~~~~~~~~---....................,....,...........,..................................................................................%%%%,,,,,,,,%%%%%,%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,%%%%,,,%%%,%%%%%%%%%%%,,%%%%%%%%%,,,,,,,,,,,,,*****%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%,,,,,%%%%%,,,%%%,,,,,,,,,,,,,,,,,,,,,%%%%%%%,~~~~~~~.......~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,-----,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,%%%%%%%%%%.%..%%%..%-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,%%%%%,,%%%%%,,,,%%%%%,,,%%%%%,,,,,,,,,%%%%%,,,,,,,%%%%%,,,%%%%%,,%%%%%,,,%%%%%,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%,,,%%%%%,,,%%%%%,%%%%%%%%%%,,,,,,,,,,...,.......,........~~~~~~----...........................,..........,.................................................................................%%%%,,,,,,,,%%%%%,%%%%%,,,,,,,,%%%%%%%%%%%%,%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,,,,%%%%%%%%%,,,,,,,,,,,,,*****,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%,,,,%%%%%%%%%%%%%%%%%,,,,,,,,%%%%,,,,%%%%%,,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%,~~~~~~~~......~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------~------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,%%%%%%%%%%%%%%%.%.%.,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,%%%%%,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,,,%%%%%,,,%%%%%%%%%%%%,,,%%%%%,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%,,,%%%%%%%%%%%%%,%%%%%%%%%%,,,%%%%%,,,..,,%%...,.........~~~~~,,-.............,..,.......................................................,.................................................%%%%,,,,,,,,%%%%%,%%%%%,,,%%%%,%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,,,,,%%%%%,,,,,,,,,,,,,,,,,***,,%%%%%%%%%,,%%%%%%%%%%%,,%%%%%%%,,,,,,,,%%%%%,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%,,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,,%%%%%%,,,,,,,%%%,,,%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%~~~............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------~~~~~~~~~~~~------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,%%%%%%%%%%.%%%.%%%%%,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,%%%%%,,,,%%%%%,,,,,,,,,%%%%%,,,%%%%%,,,,,,,%%%%%,,,,%%%%,,,,,,%%%%%%%%%,,,%%%%%,,,,,%%%%%,,%%%%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,%%%,,%%%%...........~~~~~,,...........,...........,.....,.............................................................................................%%%%%%%,,,,,,%%%%%,%%%%%,,%%%%%,%%%%%%%%%,,,,,,,%%%%%,,,,%%%,,,,,,,,,,,%%%%%%%%%%%%%%,,,,,%%%%%,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%,,,%%%%%%%%%%%,%%%%%,,,,,,,,,,%%%%,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,,%%%%%,,,,,,%%%%%,,,%%%%%%%,,,,,,,,,,,,,,,,,,,%.%%%,~~~~...........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~~~~~~~~~~~~~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,%%%%%%%%%%%%,...%%%,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,%%%%%%%,,,,,%%%%%%%%%,,,,,%%%%%,,,,%%%%,,,,,,,%%%%%,,,,,,,,,,,%%%%%%%%,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%,%%%%%%%%%,,,%%%%%%%%%%,%%%%..........~~~~~,,,,...........................,...............................................................................................,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,,,,,,,,,%%%%%,,,%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%%%%%%%%%%%%%%%,,,,,,%%%%%,,,%%%%%,,,,,,%%%%%,,%%%%%%%%,,,,,,,.,,,..,,,,,.....,~~~~~...........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,%%%%%%%%%%%%.%%%%..%%%%---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,%%%%%,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%,,,,,%%%%%,,,%%%%%%%%%%,%%%...........~~~~,,,,.........................,..................................................................................................,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,%%%%%,,,,,%%%%%,,,%%%%%,,,,,,,,,,,,%%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,i,,%%%%%%%%%%%%%%%,%%%%%,,,,,%%%%%%%%%%%%%,,,,,,%%%%%,,%%%%%%%..,,,,...,,,.,,,,,,......~~~~~~...........~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----%%%%%%%%%%%.%%%%%.%%%%%---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,i%%%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%,,%%%%%,%%%%%,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%............~~~~....,...,..................,,..,.................,.,............................,.............................................%,,,,%%%%%,,,,,,,,,,,%%%%%,,%%%%%%%%%%%,%%%%%,,,,,%%%%%%%%%%%%%,%%%%%,,,,,,,%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%,*%%%,,%%%%%,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%%%%,%%%%%%%%%%,%%%%%,,,,,,,,%%%%%%%%%%,,,,,,%%%%%,,%%%%%%....,,......,,..,,,..........~~............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%%%%%%%%%%%%%%%%%%%%%%-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%%,,,,,,,,,,,,,,%%%,%%%%%%%%%%,%%%%%%%%%%,,%%%%%,%%%%%,,,,,,,,,,,,,,,,%%%%%,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%%..........~~~~~~....................,....,,.....,.................,..........................,...............................................%%%,,,%%%%%%%,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%,%%%%%,,,%%%%%%%%%%%%%%%,,,,,%%%%%,,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%*%%%%%,%%%%%,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%i,,,,%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,%%%%%,,,,%%%%%,,%%%%.........,....................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%%%%%%%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,,%%%%%%%%,,%%%,,,,,,,%%%%%%%,,,,,,,,,,,,%%%%%%%%%%%%%%%,,,,,,%%%%%,,%%%%%%%%%%%,%%%%%,,,,,,,,,,%%%%,,,,%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%,..........~~~~~~.......,,......................................................................,.............................................%%%,,,,,%%%%%%%,,,,,,,%%%%%,,,,%%%%%%%%%%%%%%%,,,,,,,,,%%%%%%%%,,%%%%%,,%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,%%%%,,%%%%%%%%%%%%%,,,,,,,,%%%%%,,%%%%%%%%,,,,,....%%%..............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%.%%%%%.%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,%%%%%,%%%%%%%%%%%%%,%%%%%%%,,,,,,,,,%%%%%,,,%%%%%%%%,%%%%%,,%%%,%%%%%%%,,,,,,,,,,,,%%%%%%%%%%%%,,,,,,,,,%%%%%%%%%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%,,,,,.....~~~~~~~............................................................................................................................%%%%,,,,,%%%%%%%%,,,,,,%%%%%,,,,%%%%%%%%%%%%%%,,,,,,,,,,%%%%%%%,,,%%%%%,,%%%%%%%%%%%%%%%%%%,,,%%%%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%*,,,%%%%%,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%,%%%%%,,,,%%%%%,,,,,,,,,,,%%%%%%%i,%%%%%%%%,,,,,....%%..............................................~~~~~~~~~~..~~~~~~~~~~~~~~~~~~,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%.%%%%%%%%%%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,%%%%%,,,,,%%%%%%%%%,%%%%%,,,,,,%%%%%%%%%%,,,%%%%%%%%,%%%%%,%%%%%%%%%%%%,,,,,,,,,,,,%%%%%%,%%%%%,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%%%%,,,,,....~~~~~~~~,.........................................................................,................................................,%%%,,,,,,%%%%%%%%%,,%%%%%%%,,,,,%%%%%,%%%%%,,,,,,,,,,,,,%%%%%%%,,,%%%%,,,%%%%%%%%%%%%%%%%%%,,,%%%%%%%%,%%%%,,,%%%%,,,,,,%%%%%%%%%%%%*,,,%%%%%,,,,,,%%%%%%%%%%%,,,,,,,,,,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,%%%,,%%%%%,,,,%%%%%%%%%,%%%%,,%%%%%,,,,%%%%%%%%,,,,,...i.................................................~~~~.........~~~~~~~~~~~~~~~~,,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%%.%%%.%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,**,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%,,,%%%%%%%%.%%%%%,%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%,%%%%%,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%%,,,,,,...~~~~~~~~,,...............................%%%...................................,..,...............................................,,,,,,,,,,,%%%%%%%%%,,%%%%%,,,,,,,%%%%%,,%%%,,,%%%%%,,,,,,,%%%%%%,,,,,%%%,,%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%**,,,%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,%%%%%,,,,%%%%%%%%%,%%%%%,%%%%%,,,,%%%%%%%%,,,,,...............,.,.................................................~~~~~~~~~~~~~~,,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%.%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,**,,--,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%,%%%%%%%,,%%%%%,%%%%%,%%%,,,,,,,,,,,,,%%%%%%%,,%%%%%,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%,,...~~~~~~~~,,,......,......................%%%%%.....................%%%...........................................................,,,,,,,,,,,%%%,,,%%%%%%%%%%%%,,,,,,,%%%%%,,,,,,,,%%%%%,,,,,,,%%%%%,%%%,%%%%%,,,%%%%%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%***,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,%%%%%%,,,%%%%%%%%%%,%%%%%,%%%%%,,,,,,,,%%%%..,,,............,,..,...................................................~~~~~~~~~~~~~,,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----%%%%%.%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,-,,------,,,,%%%%%,,,,,%%%%%%%%%%%%%,,,,,%%%%,,,,,i.%%%%%,,,%%%,,,,,,,,,,,%%%%%,,,,%%%,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%%%%%,%%%%,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%,...~~~~~~~~,,,.....................................................................................................................,%%%,,,,,,%%%%%,,,%%%%%%%%%%%,,,,,,,%%%%%,,,%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,%%%%%%%%%%%,,,,%%%,,,,%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%%%%****,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%%%%%,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,%%%%%%%%%%%%%%%%%%%%,%%%%%,%%%%%,,,,,,,,,,,,....%....,%%...,,,,........................................................~~~~~~~~~~~,,,,,----,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----%%%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,----,--------,,,,%%%,,,,,,%%%%%%%%%%%%%,,,,,%%%%%,,,%%%%%%%%,,%%%%%%%%%%%%,,,%%%%%,,,%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%%%,%%%%%,,,,,,,,%%%%%%%%%,,,,,,,,,,,%%%%%,,,,,%%%%%%%,,,,,%%%%%%,......~~~~~,,,.......................................................................................................................%%%,,,,,%%%%%,,,,%%%%%,%%%%,,,,,,,,%%%%,,,%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,,%%%%%%%%,,,,,%%%%%%,,,,,,,,%%%%%%%%%%%,,%%%%%,,,,,%%%****,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%%%%%,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,%%%%%%%%%%%%%%%%%%%%,,%%%%%,,i,,i,,,,,,,,,,,...........%%....,............................................................~~~~~~~~~~,,,,---,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----%%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,-------------,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,%%%%%,,.%%%%%%%,,,%%%%%%%%%%%%%%%%%%%%,%%%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%%%,%%%%%,,,,,,,,,,,,%%%%,,,%%%%%,,,,%%%%%,,,,,%%%%%%%,,,,,%%%%%%%%....~~~~~~,,,....................................................,...................................................................%%,,,,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,,%%%%%%%%%%,%%%%,,,,,,,%%%%%,,i,%%%%%%%%%,,,,,,,,%%%%%%%%,,,%%%%%,,,,********,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,%%%%%,,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%%%%%%,%%%,,,,%%%,,,,,,,,,,,,,,i,,,,,,,..........,%%...i.,,.i........................................................~~~~~~~~~~,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,--,,,---------------,,,,%%%%,,,,,,,,,%%%%%%%%%%%%,%%%%%%%,%%%%%%%,,,%%%%%%%%%%%%%%%%%%i,%%%%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,%%%%%,,,,%%%%%%%%,,%%%%%,,,,,,,,%%%%%%%....~~~~~~,,,...............................................,........................................................................%%,,,,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%,%%%%%%%%%%%,,,,,,,,,,%%%%%,,,%%%%%,,,*******,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%,,,,%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%%%%%%%%%,,,,,,,%%%%%,,,,,,,i,,%%%%,%%%,,,,...........%...ii...........................................................~~~~~~~~~~~~,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-,,,,----,----------------,,,%%%%%,,,,,,,,,%%%%%%,%%%%%,%%%%%%%%%%%%%%%%,,,%%%%%%%%%%%%%%%%%,,%%%%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%%%%,,,,%%%%%%%%%,%%%%%,,,,,,,,,,,,%%%%...~~~~~~%%%...............................................................,........................................................%,,,,,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,%%%%,,%%%%%,,,,,,,,%%%%%%%%,%%%%%%%%%%%%%,,,,%%%%%%,%%%%%%%%%%%%%,,,,,,,,%%%%%,,,%%%%%,,,******,,,%%%%%%%%%%,,,,,,,,,,,,%%%%%,%%%%%%%%%,,,,%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-,,%%%%%%%%%..%%,,.,,,...%%%,,,,,,,,,%%%%%%%%%%,,*,..............,............................................................~~~~~~~~~~~~~-,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--,,,-------------------%%%,,%%%%%,,%%%%%,,%%%%%,,%%%%%,,,,%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%,,%%%%,,,,,,,,%%%%%%%%%%%,,,,%%%%%%%%%,%%%%%,,,,,,,,,,,,%%%%%~~~~~~~%%%%.............................................................,..........................................................,,,,,,%%%%%,,,,,%%%%%,,,,%%%%%,,,,,,%%%%%,,%%%%%,,,,,%%%%%%%,,,,%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%,,,%%%%%,,,,****,,,,%%%%%%%%%%,,,,,,,,,,,,%%%%%,%%%%%%%%%,,,,%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%%%%%%%%.%............%%,,,,,,,,,%%%%%%%%%%,,^^................................,...........................................~~~~~~~~~~~~--,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------%%%%%,%%%%%,,%%%%%,,%%%%%,,%%%%%,,,,%%%%%,.,%%%%%%%%,,,,,,%%%%%%%%%%%,,%%%%%,,,,,,,,,,%%%%,,%%%%%%%%%%%%%%%%%%%,%%%%%,,,,,,,,%%%%%%%%%%,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%~~~~~~~%%%................................................,.,,............,,........%..............................................,,,,,%%%%%,,,,,,%%%%%,,,,%%%%%,,,,,,%%%%%,,%%%%%,,,,%%%%%%%%,,,,%%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,**,,,,,%%%%%%%%%%,,,,,,,,,,,%%%%%%,%%%%%%%%%,,,,%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-%%%%%%%%.%..............,,,,,,,,,,%%%%%%%%%%*^*,..............i..................,..........................................~~~~~~~~~~~~~-,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------%%%%%,,%%%%,,%%%%%,,%%%%%,,%%%%%,,,,,%%%%,.,%%%%%%%%,,%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,,%%%%%,%%%%,%%%%%,,,,,,,,%%%%%%%%,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~%%%................................................................,..,......%..............................................,,%%%%%%%%,,,,,,%%%%,,,,,%%%%%,,,,,,%%%%%,%%%%%%,,%%%%%%%%%%,,,%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,%%%%,%%%%%%%%%%,,,,,,,,,,%%%%%,,,%%%%%%%%%,,,,%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%..............,,,,,,,,,,%%%%%%%%%,**,,*.............i................,,...........................................~~~~~~~~~~~~~~~,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,ii,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------%%%%%,,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,..,,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%%,,,,,,,i,,,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,%%%%,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~,%%..........................................................................%............................................,%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%,%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%,%%%%%,,,,,%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,%%%%%,%%%%%%%%%%,,,,,,,,,,%%%%%,,%%%%%%%%%%,,,,,%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~%%%%%%%%%%%............,,,,,,,%%%%%%%%^^,,**,,*,..........................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------%%%%%%,,%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%,,%%%%%%%%%,,%%%%%%,i,,,,,,,,,,,%%%%%%%,,%%%%%,,,,,,,,,,,,%%%%%%%%%%%,%%%%%%%,,,,,,,,%%%%%%%%,,%%%%%,,,,,,,,,%%%%%,,,,,-~~~~~~~~~,,,................................................,....,......,..................,....................................,.%%%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,%%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%%,%%%%%,,,,,%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%,,,,,,%%%,,%%%%%,,%%%%%,,,,,,,,,,,,,,%%%%%,,%%%%%%%%%%,,,,,%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...%%.%%%%.,...............,,,,,%%%%%%%%^*,,,,*,,,...........................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------%%%%%%,%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,%%%%,,,,,,,,%%%%%%%%%%%%%%,%%%%%,,,,,,,,,,,,%%%%%%%%%,,%%%%%,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%%%%%%,,,,,,,,,%%%%%,,,,,-~~~~~~~~~,,,...........................................,..,,....,.........,.......................................................%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%,,,%%%%%i%%%%%%%%%%,,,%%%%%%,,,,,%%%%%%%%%%%%,,,,%%%%%%%%%%%%%,,,,,%%%%%,%%%%%,,%%%%%%%%,,,,,,,,,,,%%%%%%,%%%%%,,,,,,,,,%%%%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...%%%......................,,,,%%%%%%%%^%%%%%%%%%..............................................................................~~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------~~~~~~~%%%%%%,%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%%%,,i%%%%%%%%%%,,,,,i,,,,,,%%%%%%%%%,,%%%%%,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%%%,,%%%%%%,,%%%%%%%%%%%%%,,,,%%%%%,,,,,,-~~~~~~~~,................................................................,...............,......................................,%%%%%%%%...,,,%%%%%%%%%,,,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%,,,,%%%%%,%%%%%%%%%%%%%,%%%%%%%%%,%%%%%%%%%%%%,,,,%%%%%%%%%%%%%,,,,,%%%%%,%%%%%,%%%%%%%%%%,,,,,,,,,,,%%%%%,%%%%%,,,,--,,,%%%..%%%%%~~~~~~~~~~~~~~~~~~~~~~~~...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...%%%......................%%%%%%%%%%%*%%%%%%%%...............................................................................~~~..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------~~~~~~~~~~~~~%%%%%%,%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,,,,,%%%%%,,%%%,,,,,,,,,,,,%%%%%%%%%,,%%%%%,,,,,,,,,,,%%%%%,%%%%,%%%%%%%%%%%%%,%%%%%,,,,%%%%%%%%%%%%%,,,,%%%%%,,,,%%%%%~~~~~~..,..............................................................,................,.......................................%%..,,,.....,%%%%%%%%%,,,,i,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,%%%%%%%i,%%%%%%%%%%%%,%%%%%%%%%%,,,,,%%%%%%%%,,,%%%%%*,,%%%%%,,,,,%%%%,,,,,,,%%%%%%%%%%%%%%%%%%,,%%%%%%%,%%%%,,,,----,,......~~~~~~~~~~~~~~~~~~~~~~~~........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.............................%%%%%%%%%%,%%%%%%%...............................,................................................~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---------~~~~~~~~~~~~~~~~%%%%-,,,,,,,%%%%%%%,,%%%%%,,%%%%%,,,%%%%%,,,,,,,%%%%%,,,,,%%%%%,%%%%%,,,,,,,,,,,%%%%%%%%%,%%%%%%,,,,,,,,%%%%%%%%,i,,,,%%%%%%%,%%%%%%%%%%%,,,,%%%%%%%%%%%%%,,,,,%%%%,,,,%%%%%~~~~~~~...,,......................%.....................,................................,...%%%%%.............................,..................%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%,i%%%%%,,%%%%%%%%,%%%%%%%%%%,,,,,,%%%%%%%,,,%%%%%,,,%%%%%,,,~~~%%%,,,,,,,%%%%%%%%%%%%%%%%%%,,%%%%%%%%%,%%%%%,-~---,.......~.....~~~~~%%%%~~~~~~~.........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.............................%%%%,,,,,,,%%%%%%%%.................................,%%%%%........................................~~...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------~~~~~~~~~~~~~~~~~~~~~--,,,,,,,%%%%%%%%%%%%%%,,%%%%%,,,%%%%%,,,,,,,%%%%%,,,,,,%%%%,%%%%%,,,,,,,,%%%%,,,,%%%,,%%%%%,,,,,,,,,%%%%%,,i,,,,,i,%%%%%,%%%%%%%%%%%%,,,,,%%%%%,,%%%%%,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,......................%.................,.......................................%%%%%%%.....................%%%%%......................%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,i%%%%%,,%%%%%%%%,%%%%%%%%%%,,,,,,,,%%%%%,,,%%%%%%%%%,,,,,~~~~~%%%%%,,,,,%%%%%%%%%%%%%%%%%%,,%%%%%%%%%,%%%%%,-~~~--.............~~~~~%%%%%~~~~~...........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........................%%%%%%%%,.,,,,,,%%%%%%%.................................%%%%%%%............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,%%%%%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,%%%%%,,,,,,,,%%%%%,,%%%%,,,%%%%%i,,,,i,,,,%%%%%,%%%%%%%%%%%%,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,%%%%%,,,......~..,,....%%.....%...........%............................................,%%%%%%%....................%%%%%%%.....................%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,%%%%%i,%%%%%%%,,,,,,,%%%%,,,%%%%%,%%%%%,,,,,,,%%%%%,,,,~~~~~~%%%%%,,,,%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%,%%%%%-~~~~~~.............~~~~,%%%%%~~~~.............~~~~~~~~~~~~...~~~~~~~~~~~~.............................%%%%%%%%%%.,,,,,,,,%%%%%.................................%%%%%%%...........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%%%%%%%%%%,,%%%%%,,,,%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%,%%%%%,,,,,,,,%%%%%,%%%%%%%%%%%%%,,,,,,,,i,,%%%%,%%%%%%%%%,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,%%%%%%%,,,,,%%%%%%%,....~~~~~%%...,%%.....%..........%%%%%,,.,,.,.,.........................................,.,................................................,%%%%,,,,,,%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%,,,,i,,%%%%%,,,,,,,,,,,%%%%%,%%%%,,,,,,,,%%%%%,,,~~~~~~~%%%%%,,,,%%%%%%%%%%%%%%,%%%,,,%%%%%%%%%,%%%%%~~..~~...............~~....%%....................~~~~~~~~~.......~~~~.~~~..............................%%%%.%%%%%%,%%%%%,,,%%%....................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%%%%%%%,,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%%%%,~~~~~~~~%%%%%,%%%%%,,%.........,,%%%,,,....,,................................,........,.....................................................%%%%,%%%%%%%%,,,,,,,,,%%%%,%%%%%,%%%%%%%%%%,ii,,,i%%%%%,,,,,,,,%%%%%%%%%%%%,%%%%,,,,%%%%%,-~~~~~~~,%%%%%*,,,%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%%%%,.....................~..........................~~~~~~~~~........~....~~..............................%%%..%.%.%%,%%%%%,,,,%%....................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%,,,,,,%%%,,,,,,,%%%%%%%%%,,,,,,,,%%%%%%%%%,%%%%%,,,,,,,%%%%%,,,,,,,%%%%%%%%~~~~~~~~~%%%%%,%%%%%,,,.........,,,,,,,,....,..,...%%.....................................,...................................................%%%,%%%%%%%%,,,,,,,,,%%%%%%%%%%,%%%%%,,,,i,,,%%%%%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%,,,,%%%%%-~~~~~~~,,%%%%%*,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%,,,................................................~~~~~~~~~..............................................%%.%%%%%%%,%%%%%,,,%%%...................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%,,i,,%%%%%,,,,,,,,%%%%%%,,,,,,,,,,,,,,%%%%,%%%%%,,,,,,,%%%%%,,,,,,,%%%%%%%%~~~~~~~~~%%%%%,%%%%%,,,%..%%,,,,,,,,,,,,..%%%%..,..%%%%...................................,,..................................................%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,,%%%%%%%%%,,,,%%%%%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%,,,,,,,,--~~~~~~,,,%%%%%*,,%%%%%%%%%%%,,,,,,,,,%%%%,,,,,,%%%%%,,,................................................~~~~~..................................................%%%%%%%%%..%%%%%,,,%%%...................................................................................~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%%%%%,,,,,,,,,,,%%%%%%,,,%%%%%,,,,,%%%%%%%%%%%%%%,,%%%,,%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%,,,,,%%%%%,,,%%%%%%%%%%,%%%%,,,,,,,,,,,%%%%%%%%%,,,,,,,%%%%%,%%%%%%%%,,%%%%~~~~~~~~,%%%%%%%%%%%%,,%.%%%,,,,,,,,,,,,,,%%%%.....%%%%....................................,,.......................,.......................,..%%%%%%%%%%%%,,,,,%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%%,,,,,,,,%%%%%%,%%%%%%%%%%,,,,,i,---~~~~~~-,,,,,$*,,,%%%%%%%%%,,,%%%%%,,%%%%%,,,,,,%%%%%,,..,..............................................~~~~..................................................%%%..%%......%%%,,,,%%%%..................................................................................~~~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,%%%%%%%%%,,,,,,,,,,,,%%%%%,,,%%%%%,%%%%--~~~~%%%%,,,,,,,,,,,%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,%%%%%%%%%,,,,--~~~~~-~~,,%%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,,%%%%...,,%%%.....................................................................................%...%%%%%%%%%%%%,,,,,%%%%%%%%,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,,,,,,,--~~~~~~-,,,,,$*,,,%%%%%%%%,,,,%%%%%,,%%%%%,,,,,,,%%%,--..................................................~~...................................................%%%.%........%%%,,,,,%%%,....................................................................................~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%%%%,,,,,,,,,,,%%%%%,,,%%%%%%%%%%,-~~~~~,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,%%%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,%%%%%%%%%,,,,,-~~~~~---,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,...................................,.,............................................%...%..%%%,,,,,%%%,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%,,,,,,,,,,--~~~~~~-,,,,,**,,,%%%%%,,,,,,,%%%%%,,%%%%%,,,,,,,,,,-~........................................................................................................%%%.........%%%%,,,,,,,,.....................................................................................~~~~~~~~~~~~~~~~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%%%,~~~~~~~,,,,%%%%%%%%%%%%%%,,,,,,%%%%%,,%%%%%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%,,%%%%%,,,,,,,,,%%%%%%%%%,,,,,,,,,~~,-,,%%%%%%%,%%%,,,,,,,,,,,,,,,,,,,,,%%%%%%,,,,,%%%..................................i.....................,.,.....,,,.....................%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%%%%,%%%%%%,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,---~~~~~~--,,,,,,,,,%%%%%,,,,,,,%%%%%,,%%%%,,,,,,,,,,-~~.........................................................................................................%%.........%%%%,,,,,,,,.....................................................................................~~~~~~~~~~~~~~~~~~~~~~~,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%%%~~~~~~~,,,,,%%%%%%%%%%,,,,,%%%%,%%%%%,,,%%%%%,,,,,,,,,,%%%%%%%%%%%%%%%%%%,,%%%%%,,,,,,,,,,,%%%%%,,%%%%%,,,,%%%%%,%%%%%%%%%,,,,%%%%%%%%,,%%%%%%,,,,,,,,,,~~~~~~~,,,,,%%%%%%%%,,,,,,,%%%%%,,.......................,.........,....,..........................,...........%...%,.%%%%%,.,,,,.,,,,,,%%%%,,,~,,,,,,,,,,,%%%%%%%%%%%%%%%,,,,,,%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%~~~~~%%%%,,,,%%%%,,,,,,,,,,%%%%%%%,,,,,,,,,,,,,**,-~....................................................................................................................,,,,,,,,,,,,,.................................,...................................................~~~~~~~~~~~~~~~~~~~~~~~,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,%%%%%,,,%%%%%,,,i,%%%%%,,%%%%%%%~~~~~~~,,,,,,%%%%%%%%%%,,,,,%%%%%%%%%%,,,%%%%%,,,,,,,,,,%%%%%%,%%%%%,%%%%%%%%%%,,,,,,,,%%%%%,,,,,,,%%%%%,,,,%%%%%,,,,,,%%%%%,,,%%%%%%%%,,,%%%,,,,,,,,,,,,,,~~~~~,,,,,%%%%%%%%,,,,,,,%%%%%,,..........................,.,.,.............................,..............,....%%..........,,...,,,,,%%%%%~~~,,,,,,,,,,,%%%%%~~%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%-----%%%%%,,%%%%%,,,,,%%%%%%%%%,,,,%%%%%,,,,%%%%,-......................................................................................................................,,,,,,,,,,,,,....................................................................................~~~~~~~~~~~~~~~~~~~~~~~~,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%,,,%%%,,,,%%%%%,,,,,%%%%%,,%%%%%%,~~~~~~-,%%%%%%%%%%%%%%%,,,,,%%%%%%%%%%,,,%%%%%,,,,,,,%%%%%%%%%,,,,,,,%%%%%%%%%%,,,,,,,,%%%%%%%%%%,,%%%%%%%%,%%%%%,,,,,,%%%%%,,,%%%%%%%%%%%%,,iii,,,,,,,,,,,,~~~~,,,,,%%%%%%%%,,,,,,,%%%%%,,...........................,.....................................................,...............,,,,,%%%%%~~~,,,,,,,,,,,%%%%%~%%%%%%%%%%%%%%,%%%%%%%%%%%%%%%%,,%%%%%,,%%%%%-----%%%%%,,%%%%%,,,,,%%%%%%%%%,,,,%%%%%,,,%%%%%,.......................................................................................................................,,,,%%%%%,,%%...........................,........................................................~~~~~~~~~~~~~~~~~~~~~~~~,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,i,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,%%%%%,,,,,%%%%,,,,%%%%%,,~~~~~,,%%%%%%%%%%,,,,,,,,,,%%%%%%%%%%,,,,%%%%,,,,,,,%%%%%%%%%,,,,,,,%%%%%%%%%%,,,,,,,,%%%%%%%%%%,,,%%%%%%%,%%%%%,,,,,,%%%%%,,,%%%%%%%%%%%%%,,i,,,,,,,,,,,%%%%%~~,,,,%%%%%%%%%%%,,,,%%%%%,,..................................,........................................,.................,...,,,,,%%%%%~~~,,,,,,,,%%%%%%%%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,%%%%%-----%%%%,,,%%%%%,,,,,%%%%%%%%%,,,,%%%%%,,,%%%%%........................................................................................................................,,,,%%..%,%%..................................,.,................................................~~~~~~~~~~~~~~~~~~~~~~~~,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,--~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,%%%%%%%%%,,,,,,,,,%%%%%,,,~~~~,,%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,%%%,,,,,,,%%%%%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,%%%%%%%%%%,,,,,%%%%%,%%%%,%%%%%%%%%%%,,,%%%%%%%%%%%%%,,,%%%%%,,,,,,%%%%%~~~~~-%%%%,,,%%%%%,,,,,,,,,,..................................,..,,...............,,..........................................,,.,....%%~~,,,,,,,,%%%%%~~~%%%%%%%%%%%%%%%%,,,%%%%%%%%%%%%%,,,%%%%%,%%%%%,,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%,,,,%%%%%,.,,%...................................................................................................................,.,......,,,%.....%%.............................,.,....................................................~~~~~~~~~~~~~~~~~~~~~~~~~,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,--,~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,%%%%%%%%%%%,%%%%%,,,,%%%%,,,,,,,,,%%%%%%%%,,,,,,%%%%,,,,,,,%%%%%,,,,%%%%%,,,,,,%%%%%%%%%,,,,,,,,,,,%%%%%%,,,,,,,,%%%%%%%%%%,,,,,%%%%%,,,,,,%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,%%%%%,,*,,,%%%%%,%%%%%--,,,,,%%%%%%%%,,,,,,,,......................................,.,,..............,..,.....................................,........%~~,,,%%%%,%%%%%~~%%%%%%%%%%%%%%%%%%%,,%%%%%%%%%%%%,,,%%%%%,%%%%%%%%%%,,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,%%%%..................................................................................................................................,,........................%%%%%........,,.....,...............................................~~~~~~~~~~~~~~~~~~~~~~~~~-,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~-,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,%%%%%,%%%%%,%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,%%%%%,,,,,,%%%%%,,,,%%%%%,,,,,,,%%%%%%%%%,,,,,,,,,,%%%%%,%%%%%,,,,,,,,%%%%,,,,,,%%%%%,,,,%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,%%%%%,,,**,%%%%%,%%%%%---,,,,%%%%%%%%%,,,,,,,.......................................,........,.........,................................................~~,,,%%%%%%%%%%~~%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%%,,,%%%%%,%%%%%%%%%%,,,,,,,,,,,,%%%%%%%%,,%%%,,,,,,%%%.%%%........................................................................................................................................................%%%%%%%.......,...,..................................................~~~~~~~~~~~~~~~~~~~~~~~~~--,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,i,,,i,,,~~~~,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%,%%%%%,%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,,%%%%%,,,,,,%%%%%,,%%%%%%%,,,,,,,,,,,,%%%%%,,%%%%,,,%%%%%,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,%%%%%,,%%%%%,,,***%%%%%,%%%%%---,,,,%%%%%%%%%%%,,,,,...%%%%%...........%%%......%..............%%...,...,............................................,.........,,,,,%%%%%%%%%%~~%%%%%%%%%%%%%,%%%%%,,,%%%%%%%%%%%%%%%%%%%,%..%%%%%%%,,,,,,,,,,,,%%%%%%%%,%%%%%,,,,,%%%%%%%%.............................%%%%%.....................................................................................................................%%%%%%%...........,..........%%%.....................................~~~~~~~~~~~~~~~~~~~~~~~~~---,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,--,i,,-,,,,,,,,,--------,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---,,-%%%%%i,%%%%,%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,%%%%%%,,,,,,,,,,,,,%%%%%%%,,,,,,,,,,,,%%%%%,%%%%%,,,%%%%,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,%%%%%,,,,,,,,,,%%%%%,,,%%%%,,,******,,,%%%%%~~~-,,,,,,,%%%%%%%%,,,,.,,%...........................,...................,............................................,...........,..,%%..%...~~~~~%%%%%%%%%%%%,%%%%%,,,,%%%%%%%,,%%%%%,..,,,.....%%%%,,.,,,,%%%%%%%%%%%%%,..%%%,,,,,%%.......i..................................................................................................................,.......,,,..,.....................................,...........%.........................................~~~~~~~~~~~~~~~~~~~~~~~~~--,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,---,,---,,,,,,,,,,------,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------%%%%,,,,,,,,%%%%%%%%%,,,,,,,,,,,,%%%%%%%%%,,,,,%%%%%,,,,,,,,,,,,,,%%%%%,,,%%%%%,,,,,,%%%%%%%%%%%,,,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,%%%%%,,,,%%%%%,,,,,%%%%%,,,,,,,,,,%%%%%%%%,i,i,,,,,*****,,%%%%%~~~,,,,,,,,%%%%%%%%%,,,,,,%..................................,...........,,.,,....................................................%............~~~~~~~~%%%%%%%%,,%%%%%,,,,,,%%%%%,,%%%%%,....,........%...,,,%%%%%%%,%%%%%,.......,,,,%%%.......................................................................................................................,..........,.....,,......................................,.......%........................................~~~~~~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,--------,,,,,,,,,,,,-,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%,,,,,,,,,%%%%%,,,,%%%%%,,,,,%%%%%,,,%%%%%,,,,,.,%%%%%%%%%%,,,,%%%,,%%%%,%%%%%,,,,,,,,,,,,,%%%%%,,,,%%%%%,,,,,%%%%%,,,,,,,,,,,%%%%%%%%,,,,,,,%%%%*%%%%%-~~~~~,,,,,,,,%%%%%%%%%,,,,,,%.............,.....................,..............,.................................................................~~~~~~~~%%%%%~~~~,,,,,,,,,,,,%%%%%,,%%%%%,,................,,,%%%%%%%%%%%%%%........,,,,,,........................................................................................................................................................%......................,........%........................................~~~~~~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,-------,,,,,,,,,,i,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,%%%%,,,%%%%%%%,,%%%%%,,,,,%%%%,,,,%%%%%,,,,,,,,%%%%%%%%%,,,%%%%%%%%%,%%%%%%,,,%%%%%%%%%,%%%%%,,,%%%%%,,,,%%%%%%%,,,,,,,,,,,%%%%%%%%,,,%%%%%%%%*%%%%%-~~~~~,,%%%%%,%%%%%%%%%,,,,,,%................................,,,.,..........,,,.................................................................,~~~~~~~~~%%%~~~~~,,,,,,,,,,,,%%%%%,,%%%%%,,,...............,,,%%%%%%%%%%%%%%..........,,,,...................................................,.....................................................................................,,.............%...................,.....,..............................................~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,-------,,,,,i,i,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,%%%%%,,,,,,,,%%%%%,,,,,,%%%%%%%%%%,%%%%%,,,,%%%%%%%%%,%%%%%,,,%%%%%,,,%%%%%%%%,,,,,,,,,,,,%%%%%%%,,%%%%%%%%%,%%%%%,~~~~~~,%%%%%,%%%%%%%%%%%%,,,....%%%%%,,.,.....................,.,.....,...,,,,...,..............................................................,~~~~~~~~~~~~~~~~~,,,,,,,,,,,,%%%%,,,,,,,,,,....................%%%%%%%%%%..............,,,.................................................,......................................................................................................%........................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,--------,,,,,i,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%,,,,,,,,,,,,,%%%%%,.,,,,,,,%%%%,,,,,,%%%%%%%%%%,%%%%%,,,,%%%%%%%%%,%%%%,,,,%%%%%,,,%%%%%,,,,%%%%%,,,,,,,%%%%%,,,%%%%%%%%%,%%%%%,,,,~~~~%%%%%,%%%%%%%%%%%%,,,%%%%%%%%%,,,........................,............,.......................................................................~~~~~~~~~~~~~,,,,,,,,%%%%,,.,,,,,,,,,,,.....................%%%.%%.................,,.................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,-------------,,,,,,i,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,%%%%%,,,,,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,%%%%%,,,,%%%%%%%%%,,,,,,,,,%%%%,,,,%%%%%,,,,%%%%%,%%%,,,%%%%%,,,%%%%%%%%%,,%%%,,,,,i~~~%%%%%,%%%%%,,%%%%%,,,%%%%%%%%%,,,..........................................,..................................................................~~~~~~~~~~~~~~,,,,,,,%%%%%,,,,,,,,,,,,%%..............................................................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,--------------,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,--,,,,,,,,,%%%%%%%%%%%%%,,%%%%%%%%%%%%%%%%%%%%,,%%%%%,,,,%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%,%%%%%,%%%%%%,,,,%%%%%%%%%%%%,,,,,%%%,,,,,,%%%%,,,,%%%%%,%%%%,,%%%%%,%%%%%%%%,,,,,,,,,,,,,,~~~~%%%,,%%%%%,,%%%%%,,,%%%%%%%%%,,,............................,................................................................................~~~~~~~~~~~~~~~~~,,,,%%%%%%%%%,,,,,,,%%%..............................................................................................................................................................................................................................................................................~~~~~~~~~.....~~~~~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,---------------,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-----,,,,,,,,%%%%%,,,%%%%%,,%%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,%%%%%,,%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,,,%%%%%%,,,,,,,,,,,,%%%%%%%%%%,,%%%%%,%%%%%%%%,,,,,,,,,,,,,i~~~~~,,,,%%%%%,,%%%%%,,,,%%%%%%,,,,,,.............................,.......,......................................................................~~~~~..~~~~~~~~~~~~,,%%%%%%%%%,,,,,,,%%%................................................................................................,.,.,.........................................................................................................................................................................~~~~~~~.......~~~~~~------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,-----------------,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-----,,,,,,,,%%%%%,,,%%%%%,,,,,,%%%%%%%%,,%%%%%,,,%%%%%,,,,%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,%%%%%,%%%%%,,,,%%%%%%%,,,,,,,,,,%%%%%%%%%%%,,%%%%%,%%%%%%%%,,,,,,,,,,,,,i~~%%%,,,,%%%%%,,,,,,,,,,,%%%%%%,,,,,,,...........................................................................................................~~~~...~~~~~~~~~~~~~,%%%%%%%%%,,,,,,,%%%%................................................................................................,..,........................................................................................................................................................................................~~~~~,-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,----------------,,,,,i,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%%%%,,%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%,%%%%,,,,,%%%%%,%%%%%,,,,%%%%%%%,,,,,,,,,,%%%%%,%%%%%,,,%%%~~%%%%%%%%,,,,,,,%%%%%%%%%%%%%,,,,%%%%,,,,,,,%%%%%%%%%,,,.,,,,................................................................................,..................................~~~~~~~~~~~~~~~,,%%%%%,,,,%%%%%%%.................................................................................................,..............................................................................................,.....................................................................,...,...................~~,,------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,---------------,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,%%%%%%%%,,,,,,,,,,%%%%%%%%,,%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,%%%%%,%%%%%,,,,,%%%%%%,,,,,,,,%%%%%%%,,,,,,i,~~~~~~%%%%%%,,,,,,,,,%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,,,,...,,,..............................................................................,,,...................................~~~~~~~~~~~~~~~~%%%%%,,,%%%%%,%%.....................................................................................%..........,........................................................................................,....................................................................--......,.,,,,.--...............~,,,,------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,--------------,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,%%%%%%%%%%%%,,,,,,,%%%%%,,,,,%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%,,,,,,,%%%%%%%%,,,,i,,~~~~~~~~%%%%%~~,,,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,..i,....,,,.................................................................................,.,...............................~~~~~~~~~~~~~~~~~~~~%%%%%%%%%%%%%.....................................................%..............................%%............,...................................................................................................................................................................,..,..,.---.............,,,,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------,,,,,,-,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%,,,,,,,,,,%%%%,,,,,%%%%,,,,%%%%%,,,,,,%%%%%%%%%%%%i,,~~~~~~~~%%%%%,,,,%%%%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,%%%%%............................................................................................,.,................................~~~~~~~~~~~~~~~~~~~~%%%%%%....%%.%...................................................%%..............................%%....,.......,..................................................................................................................................................%....................,,,.---..............,,,,------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~-----,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%,,,,,,%%%%%,,%%%%%,,,~~~~~~~~%%%%%,,,%%%%%%%%%%%%%%,,%%%,,,,,,,,,,,,,,,%%%%..........................................................................,...............,.,,.................................~~~~~~~~~~~~~~~~~~~~~%%%%%,........%%.................................................%%......%%%.....................%%.......,......................................................................................................................................................%%.................,.,.,..--................,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~~~~~~~~~~~~~~~~~~~~~--,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,,,%%%%%%,,,,,,,,,,,,,,,%%%%,,,,%%%%%,,,%%%%%,,,,,,%%%%%,,%%%%%,,i~~~~~~~~,%%%%,,,%%%%%%%%%%%%,,,,,%%%%%,,,,,,,%%%%%%,%%..........................................................................................,......,.........%%%................~~~~~~~~~~.~~~~~~~~...%%%%%,.......%%%%................................................%%.....%%%%%.....................%........,.....%%%.................................%%%%%.......................................................................%%%.............................%%......................,...................--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,%%%%%,,%%%%,,,,,,%%%,,,,,,%%%%,,,,%%%%,%%%%,,%%%%%,,,,,,,%%%%%%%%%%%%%%,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,,%%%%%,,,%%%%%,,,,,,,,,,,%%%%%%%,,~~~~~~~~,,,,,,~,,%%%%%%,%%%%%,,,,,%%%%%,,,,,,%%%%%%%%%...............................................................................,..,....,.,....,...............................~~~~~~~~~......~~~~~....%%%%................................,....,..........................i......................................,......%%.................................................................................,.......................................,........................................,,,.,..................------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,%%%,%%%%%,,,,%%%%%%%%%,,,,,%%%%%,%%%%%%,,,,,,%%%%%%%%%%%%%%,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,,%%%%%,,,,%%%,,,,,,,,,,,,%%%%%%%,,~~~~~~~~,,,,,~,~,,%%%,,,%%%%%i,,,,%%%%%,,,,,,%%%%%%%%%................................................................................,,.............................................~~~~~~~.........~~~.....~......................................,.........................................................................%%.....................................................................................................................,,..,...,.......................................,..,................~~....-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%,,,,,,,,,%%%%%%%%%%,,,,%%%%%%%%%,,,,,%%%%%,,%%%%%,,,,,%%%%%%%%%%%%%%%,,,%%%%%,,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%,,,,,,,,,,,,,,,%%%%%---~~~~~~~,,,,,,%%%%%~,,,,,,%%%%%,,i,,%%%%%%%%%%,%%%%%%%%%.......................................................................%.....,.,,,.,....,......,.................................~~~~~..................................................,...............................................................................%%....................................................................................................................,...........,.....................................,,.......................~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%,,,,,,,,,%%%%%%%%%%,,,,%%%%%%%%%,,,,,%%%%%,,%%%%%,,,%%%%%%%%%%%%%%%%%,,,%%%%%,,,,,%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%--~~~~~~~,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%%%%,%%%%%,,%%%%%%%%.......................................................................%..............,..........................................~~....................................................................................%................................................%...................................................................................................................,..................................................^.........................~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,%%%%%%%%%%,,,,%%%%%%%%%,,,,,%%%%%,,%%%%%%,%%%%%%%%%%%%%,%%%%,,%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%-~~~~~~~,,,,,,,,%%%%%,~,,,,,,,%%%%%%%%,,,,,%%%%%,,,%%%,%%%.......%...............................................................%...............................................................................................................................................%..........i.........................................................................................................................................................................................................^^^^........................~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,%%%%%%%,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%,,,,,,,,,,%%%%%,%%%%%,,,,,,,,,,----~~~~~~,,,,,,,,,%%%%%%%%%,,,,,%%%%%%%%,,,,,%%%%%,,,,%%%.........%%......................................................................,........................................................................................................................................%........i........................................................................................................................................................................................................~~~^^^^...-...................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,%%%%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%,,,,,,,,,%%%%%%,%%%%%,,,,,,,,,-----~~~---,,,,,,,,,,%%%%%%%%%%,,,%%%%%%%%%,,%%%%%%%,,,%%%%.........%%................................................................................,...................................................................................................,..........................................%.................................................................................................................................................................................................*~~^^^^..-.....................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%%%,,%%,%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%,,,%%%%%%%%%%%%%%,,,,%%%%%,,,%%%%%,,,,,,,,,,---~~~~--,,,,,,,,,,,,,,%%%%%%%%,,%%%%%%%%%%%%%%%%%%%,,%%%..........%%......................................................................,..........................................................................................................,............................................%%...........................................................................................................,.....................................................................................**^^^^^.--.......................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%%%%,,,,,,,,,%%%%,,,,,,,,,,,,%%%%%%%%%%%,,,,,%%%%%,,,,,,,%%%%%%%%%%%%%%%%,,,,,,%%%%,%%%%%%%%%%%%%,,,,%%%%%,,,%%%%%,,,,,,,,,,-~~~~~---,,,,,,,,,,,,,,%%%%%%%%,,,,,,%%%%%%%%%%%%%%%%,..............%.....................................................................................................................................................................i....i....%..............................................%%........................................................................................................,........................................................................................******^.--.......................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,%%%%%%%,,,,,,,,,,,%%%%%,,,,%%%%%%,,,,,,%%%%%,,,,,%%%%%,,,,,,%%%%%%%%,,,,%%%%%,,,%%%%%,,,,,,,,,,-~~~~----,,,,,,,,,,,,,,%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%,.......................................................................................................................................................................................i.....%%....,.........................................%%.........................................................................................................,........................................................................................****S*.--.......................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,%%%%%,%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%,,,,%%%%%%%%,,,,%%%%%,,,,,%%%%%,,,,,,,,,%%%%%,,,,%%%%%%%%%%%%%%%%%,,,,,,~~%%%%%-,,,,,,,,,,,,,,,,,,,%%%%%%,,,,%%%%%%%%%%%%%%%%,,......................................i.....................................................................................................................................................%%..............................................%%......................................................................................................,,..................................................................................................-......................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%,%%%%,,,,,,,,%%%%%,,,,%%%%%%%%,,,,%%%%%,,,,,%%%%%,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%%%%%%,,,,~~~~%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,,,%%%%%,,........................................................................................................................................................................................i...%%..............................................%%......................................................................................................,,..,................................................................................................................~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,%%%,%%%%%,,,%%%%%%%%%%%%%%%%%%%%%%,%%%%%,,,,,,,%%%%%,,,,%%%%%%%%,,,,,%%%%,,,,,%%%%%,,,,,,,,,%%%%%%%%%%,,,,%%%%%%%%%%%%,,,~~~~~%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,..%%%%,..,...........................................................................................................................................................................................%...............................................%........................................................................................................,,.................................................................................................................~~~...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,,%%%%%%%,%%%%%%%%%%%%%%%%%%%%%%,%%%%%,,,,,,,,%%%%,,,,%%%%%%%%,,%%%%,,,,,,,,,,,,%%%%%,,,,,%%%%%%%%%%,,,,%%%%%,,%%%%%,,,~~~~~%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,,,,.......,.........................................................................................................................................................................................................................................................................................................................................................,.................................................................................................................~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,%%%%%%%%%%%%%%%%%%%,,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%%,%%%%%,,,,,,,,,,,,%%%%%,,,,,%%%%%%%%%%,,,.%%%%%,,%%%%%,,~~~~~~%%%%,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%,,,,,,.........,....................................i.....i............................................................%%%......................%%%........................................................................................%%%%%..............................%%%......................................................................................,.............................................................--%%%.....%%%.......................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,%%%%%%%%%%%%%%%%%%%,%%%%%,,,,%%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%,%%%%%,,,,%%%,,,,,%%%%%,,,,,%%%%%%%%%%,,.,,,,,,,,,,,,,,,~~~~~~~,,,,,,,%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,............................................i...................................................................%%%%%....................%%%%%...............................................................%%%....................%%%%%%%............................%%%%%.............................................................................,......................................................................%%%%%...%%%%%......................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%,,,%%%%%%%%%%,%%%%%,,,%%%%%,,,,%%%%%,,,,,%%%%%,%%%%,,%%%%%,,,,,,,,,,,~~~~~~~,,,,,,,%%%%%,,%%%%%%%%,,,,,,%%%%%%%%%%,,,,%.............................................i......................................................................................................................................................................................%%%.......................................,,...............,,..................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%,,,%%%%%%%%%%%%%%%%%%,%%%%%,,,,,%%%%%%%,,%%%%%,,,,,,,%%%%%.,,,,,,,,,,~~~~~~~~,,,,,,%%%%%,%%%%%%%%%,,,,,,%%%%%%%%%%,,,%%........,.........................................................................................................................................................................................................,.................%%%......................................,,..................,...................................................................................................................%%.......................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%,,%%%%%,%%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,%%%%%,,%%%,,%%%%%,,,,,,,,,,~~~~~~~~~~,,,%%%%%%%,%%%%%%%%%,,,,,,%%%%%,%%%,%%%,%................................................i.......................................................................................,..............................................................................,............%%%....................................,,,..,..................................................................................................................,.,..............%%%.......................,...............................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%,,,%%%%%,,,,%%%%%%%%%%%%%,,,,,,,,%%%%%%%%%,%%%%%,%%%%%,,,,,%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,%%%%%,%%%%%%%%%%%,,,,,,,,,,~~~~~~~~~~~,%%%%%%%%,%%%%%%%%%,,,,,,%%%%%,,,,%%%%%,.......................................i........................................,............................................................,....................................................................,.................%%%........................................................................................................................................................,,,..................%%%.......................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%,,,%%%%%,,,,%%%%%%%%%%%%%,,,,,,,,%%%%%%%%%,%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,,,,%%%%%%%%%%%,,,,,,,,,,~~~~~~~~~~~~%%%%%,,,,%%%%%%%%%,,%%%%%%%%%%,,,%%%%%,............................................i.................................,...............................,..............................,.......................................................................................%%......................................,......................................................................................................................................%%%.....................,,................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%%%%,,,%%%%%,,,,,%%%.%%%%%,%%%%,,ii,,%%%%%%%%%,,,,,%%%%%%%%,,,%%%%%%%%%%%,%%%,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,-~~~~~~~~~~~~%%%%%,,,,,,%%%%%,,,,%%%%%%%%%%%%,%..................................................................................,...............................,...............................................................................................................................................................................,........,.........................................................................................,...................%%%......................,........................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%%%,,%%%%%,,,,,,,.,,,%%%%%,%%%%%,,,,,,,,,%%%%%,,%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,,-,,~~~~~~~~~~~~~%%%%%,,,,,,%%%%%,,,,%%%%%%%%%%%%,,.................................................................................,,...............................,.........................,........................................................................................................................................................,,..................................................................................................................%%%.............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%%%,%%%%%%%%%%,,,,,,%%%%%,%%%%%,,,,,,,,,%%%%%,,%%%%%%%%%%,,,,%%%%%,,,,,,,,,%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,,--~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%,,,,%%%%%%%%%%%%,,.,...............................,,..............................................,,.........................................................,..,.........................................................................................................................................................,,...............................................................................................................%%........................................,...-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%,,%%%%%,,,,i,,,i,,,i,,,%%%%%%%,,,,,,,%%%%%,,,,,,,,%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%%%%%%,,,,~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%,,,,%%%%%%%%%%%%,,,.................................................,.........................................................................................,,..........................................................................,...................................................................................................................................................................................................,..............................--..-----.,.-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,.%%%%,,,,,,i%%%,,,,,,,%%%%%%%,,,,,,,%%%%%,,,,,,,,%%%%%%%%%,,,,%%%%%%%%%,%%%%%%%%%%%%,,,,~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,%%..................................................................................,,...............................,.......................,..........................................................................................................................................................,.................................................................................................................,..,,.............................-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%,%%%%%,%%%,,,,,,,,,%%%%%%%%%,%%%%,,,,,,,i,,i%%%%%%%%%%,,,,~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,,,,,%%%%%,,,,%%%.................................,..............,...........................,..,...,.............................,.............................,........................................................................................................................................................................................................................................................................,.................................-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,%%%%%%%%%%%%%%%%%%%%%%%%%%%,.,,,,,~~~~,,,,,,%%%%%%%%%%,,,%%%%%%,%%%%%,,,,,,,,,,,,%%%%%%%%%%%%%%%,%%%%,,,,,,%%%%%,,,,,,,,,,~~~~~~~~~~~~~~~~~~%%%%%,,%....,,%%%,,,%%%%%%%,,,,%%%%................................................,...........................................................................................,.........................................................................................................................................................................................................................................................................,..................................----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,%%%%%%%%,%%%%%%%%%,,,,,%%%%,,,.,,,.~~,%%%%%,%%%%%%%%%%%%%,%%%%%,%%%%%,,,,,,,,,,,%%%%%,%%%%%%%%%%,%%%%%i,,,,%%%%%,,,,%%%%%,~~~~~~~~~~~~~~~~~~%%%%%,,%%....%%%%%,,%%%%%%%,,..%%%%.................................,................,,.............................,,......................................................................%................................................................................................................................................................................................,..,.....,...................................................,..,....................,.........----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,%%%%%,,,%%%%%%,,,,,,,,,,,,,%%%%,,,%%%%%,%%%%%%%%%%%%%,,%%,,,%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%%%,%%%%%,,,,,%%%%%,,,,%%%%%,,i,,,,,~~~~~~~~~,,%%%%%,,%%...%.%%%%,,%%%%%%%%%....................................................................................,.,..,....................................................................%%..................................................................,.............................................................................................................................,....,..........................................................,..............................----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,%%%%%,,,,%%%%,,,,,,,,,,,,,,%%%%%.,%%%%%,,%%%,%%%%%%%%,,,,,,,%%%%%,,,,,,,,,,i%%%%%%%%%%%%%%%%,%%%%%,,,,,,%%%%,,,,%%%%%,,i,,,,,,,,~~~~,,,,%%%%,,,%%%..%%%%%%,,%%%%%%%%%.........................................................,.........................................%%%........................................................%%........%%%%%..............................................................,........................................................................%%%.............................................,,..,.......................................................................................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,%%%%%,,,,,,,,,,,,.,,,,,,,,,%%%%%,,%%%%%i,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,%%%%,,,,,,,,,,,,~,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,..%%%..%.%%%,,,%%%%%%%%%,.....................................................................%%%...............,.........%%%%%...................................................%%%.%%.......%%%%%%%.,.........................................................---.......................................................................%%%%%...................................%%%%%...,.....,.....................................................................................------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----%%%%%,,,,,,,,,,,,,,,,,,,.,,%%%%%,,%%%%%,,,,,,i,%%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%%%%%%%,,,,,i,,,,,,,,~~~~~,,,%%%%,,,,,,,,,,,,,,,,,,,%,,,..........%%,,%,,,,..%%%%,..........................................................i..........................,..,....................................................................................................................................................................,....................,.,..........................................,....................,...........,.,.................,,.................,...,.................................................%--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,,,i,,,,,,i%%%%%%%%%%%,%%%%,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%,,...........%%%%..,%....%%,............................................................ii.................%.....................................................................................i...........................................................................................................,.................................................................,.............................,..........................................................i...............%-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%,,,,,,,,i,,,,,%%%%%%%%,,%%%%%,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%,,,,........................................................................................................%%..................................................................................i............................................................................................................,..,...............................................................,................,..........................................................................i.............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,i%%%%%,,,,,%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%,,,,,,,,,iii,,%%%%%%%%,,%%%%%,,,,,,,,~,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................%%..................................................................................................................................................................................................................................................................,.....................,....................................................................i..............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,%%%%%,%%%%%%%%%,,,%%%%%,,,,,,,%%%%,,,,,,,,,%%%%%,,,,,%%%%%%%%%%,,,,,,,,i,,,,,%%%%%%,,,,,%%%%%,,,,,,,,~,,,,,,,.......,,,..,,,,,,,,,,,,,...........................................................................................................%%................................................................................................................................................................................................,....................................................................,.,...................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,%%%%%%%%%%%%%%%%,,%%%%%,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,%%%%%%,,,,,,%%%%%,,,,,,,,~,,,,,...............,,,,,,,,,,,,..........................................................................%................................%...................................................................................................................................................................................................................................................................................................................,.,....................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------%%%%%%%%%%%%%%%%%,%%%%%,,,,%%%%%%%%,,,,,,,,,,%%%%,,,,%%%%%%%%%,,,,,,,,%%%,,,%%%%%,,,,%%%%,,%%%%%,,,,,~,%%%....................,,,,,,,,,........................................................................%%..................................................................................................................................................................................................................................,..................................................................................................................,.,..,...,...........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------%%%%%%%%%,,%%%%%,%%%%,,,,,%%%%%%%%,,,,,,,,,%%%%%,,,,%%%%%%%%%,,,,,,,%%%%%,,%%%%%,,,%%%%%,,%%%%%,,,,,~,%%.....................,,,,%,,,,........................................................................%%........................................................................................................................i............................................................................................................................................................................................................................,..,................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,%%%%%%%,,,,,,,,%%%%%%%%%%%%%,,%%%%%,,%%%%%,,,,,~,%%%............................,,.......................................................................%%.........................................................................................................................................................................................................................................................................,,...........................................................................,..........................................---.---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,-----%%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%,,,,,,,%%%%%%%%%,,,,%%%%%%%%%%%%%%,%%%%%%,%%%%%,,,,,,,%%%%.....................%...............................................................................%.......................................................................................................................................................................................................,..,..........................................................................................................................................,,..........................................------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------%%%%%,,,%%%%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%%%,,,,,%%%%%%%%%,,,,%%%%%%%%%%%%%%,,%%%%%,%%%%%%,,,,,,%%%%....................%%.......,................................................................................................................................................................................................................................................................................,.,.....................,..,................................,............................................................................................................................------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------%%%%%,,,%%%%%%%%%%%,,,,,,,,,,,,%%%%,,,%%%%%,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%,,%%%%%,,,%%%%%,,,,,,,,,....................%%................................................................................................................................................,.......................................................................................................................................................................................................................................................................................,........................................------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------%%%%%%,%%%%%%%%%%%%,%%%%%,,,,,,,%%%%%,,%%%%%,,%%%,,,,%%%%%,,,,,,,,,%%%%%%%%,%%%%%%%,,,%%%%%,,,,,,,.,....................%%...............................................................................................................................................,.....................................................................,.........................................................................................................................................................................................................%.........................................i.......-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------%%%%%,%%%%%,,,,,%%%%%%%%%,,,%%%%%%%%%,,%%%%%,%%%%%,,,,%%%%,,,,,,,%%%%%,,,,,,%%%%%%%,,,%%%%%,,,,,,,,...........%%%%%......%.............................%%%%%...............................................................................................................,...................................................................,.........................................................................................................................................................................................................%.................................................-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------%%%%%,%%%%%,,,,%%%%%%%%%%,,,%%%%%%%%%,,,%%%,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%,%%%%%%%%i,,,,,,,...........%%%%%%%..................................%%%%%%%......................................%%%%%.................................................................,...........................................................................................................................................................................................................................................%%%..............................%%%%.........................................i.ii...------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------%%%%%,%%%%%,,,,%%%%%%%%%%,,,%%%%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,%%%%%%%%%,,,,,,%%%%%,%%%%%,%%%,,,,,,,,..,.......%%%%%%%..........................%%%%%...%%%%%%%........%.........................%..%%%%%%%................................................................,................................................................,...,.................................................................%%%%%........................................................%%%....................................%%%%%............................%%%%%.........................................i......------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----%%%%%,%%%%,,,%%%%%%%,%%%%,,,%%%%%,,,,,,,,,,,,,,,%%,,,,%%%%,,%%%%%%%%%%,,,,,,%%%%,,%%%%%%%%%%,,,,,,...........................................................................................................,.........................,................................,,...............................................................,.............................................................................................................................................................................................................................................................--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,%%%%%%,,,,,,,,,,%%%%%,,,,,,%%%,,,,,,,,,,,%%%%%,%%%%%%%%%%%,,,,,,,,,,,%%%%%%%%%%,,,,,,,.................,...............................................................................................................,..,..,...,.,......................................................................................................................................................................................................................................................................................................................................................--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%,,,,%%%%%,,,,,,,,,,%%%%%,%%%%%,%%%%%,,,,,,,,,,,,%%%,%%%%%,,,,,,,,................................................................................................................................,..,.,........................................................................................................................................................................................................................................................................................i.................................................................i..-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,,-,,,,%%%%%,,,,,,,,,,,,%%%%%,,,%%%%%%%%,,,,,,,,%%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,........................................................................................................,............................,,,.............................%......................................................................................................................................................................................................................................................................................................................i.....i-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,,----,,,%%%%,,,,,,,,,,,,,%%%%%,,,%%%%%%%%,,,%%%%%%%%%%%%%%%,,%%%%%,i,,,,,,,%%%%%,,,,,,,,,,,,,,,.....................................................................................................,,..,......................,....,..............................%%..................................................................................................................................................................................................,....................................................i.............................................................i..---..-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------,,,,,,,,,,,,,,%%%%%%%%%,,,,%%%%%%%%%,,%%%%%,%%%%%%%%%,,%%%%%,,,,,,,,,%%%%%,,,,,i,,,,,,,,,........................................................................................................,.......................,....,,.............................%%...................................................................................................................................................................................................,......,....%........................................................................................................------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------,,,,,,,,,,,,,,%%%%%,,,,,,,,,%%%%%%%%%,%%%%%,%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,................,,.................................................................................,....,..............................,.............................%%.......................................................................................................................................................................................................,..,,...%.......................................i................................................................------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------,,,,%%%,,,%%%%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,i,,,,,,,,.......................................................................................................,............................................................%%....................................................................................................................................................................................................,,.........%......................................i..i..........................................................-...------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------,%%%%%,,%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,%%%%,,,,,,..,,,,,,,......,........,....................................................................................................................................................%%...............................................................................................................................................................................................................%..................................................................................................----...----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------%%%%%,,%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%,%%%%%,%%%%,,,,,,,,,,,,,,%%%%%,,,,....,,,,,,,....................................................................................................................................................................%...............................................................................................................................................................................................................%......................................i..........................................................------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------%%%%%,,%%%%%,,,,,,%%%%%,,,,,,,,%%%%%%%%%%,%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,,,,.....,,,,,,,............................................................................................................................................,..................................................................................................................................................................................................................................................................................i......................................................-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------%%%%%,,%%%%%%,,,,,%%%%%,,%%%%,,%%%%%,%%%,,,,,,,%%%%%%%%%,,,,,,,,,,%%%%%,,,,,....,,,,,,,,..%...........,,.................................................................................................................................................................................................................,...................................................................................................................................................................................................................................................----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------,,,,,%%%%%%%%%,%%%%%,%%%%%,,%%%%%,,,,,,,,,,,%%%%%%%%%,,,,,,,,,,%%%%%,,,,,....,,,,,,,,,......,,,,.,,,,.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------,,,,%%%%%%%%%%%%%%%,%%%%%,,%%%%%,,,,,,,,,i,,%%%%%%%%,,,,,,,,,,%%%%%,,,.....,,,,,,,,,,......,,,,,,,,,..................................................................................................................................................................................................................................................................................................................................%........................,.........................................................................................................----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------,,,%%%%%%%%%%%%%%%,%%%%%,,,%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,.....,,,,,,,,,,.,..,.,,,,,,,,........................................................%%%%%............%%%%%.......................................%%%............................................................................................,..............................................................................................................%........................,..................................................................................%%%..................-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------,,,,%%%%%%%%%%%%%%%,%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%%%%%..%%%%,,,,,,,,,,,....,,,,,,,.......................................................%%%%%%%..........%%%%%%%.....................................%%%%%...................%%%..........%.................................................................%%......................................................................................................%........%%%%%.......................,.,,...........................................................%%%....%%%%%..%%%...........-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------,,,,--,%%%%,%%%%%,%%%%%%%%%%%,,,,,,,,%%%,,,,,%%%%%,,,,,,,,,,%%%%%%%%%..%%%%,,,,,,,%%%%,...,,,,,,,...,...................%%,,,....,,,,..................................................................................................................................................................................................................................................................,..,.........................................,..................,,.,.........................................................................................-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------,,,,,%%%%%,%%%%%%%%%%%,,,,,,,%%%%%,,,,%%%%%,,,,,,,,,,%%%,%%%%%,%%%%%,,,,,,,%%%%%,,,,,,,,,,.,,,,.................%%%%,,,,,,,,,,,...........................................................................................................................................................................-....................................................................................,,,..,...........................................,.......,......,.,...........................................................................................-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------,,,,,,,,,,,,%%%%%%%%%%%,,,,,,,%%%%%,,,,%%%%%,,,,,,,,,%%%%%%%%%%,%%%%%..,,,,,%%%%%,,.,.,,,,,,,,,,,...........,....%%%%%,,,,,,,.,,................................................................................................................................................................................................................................................................,................................................,..,.........,.,.............%....................................,..............................................--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------,,,,,,,%%%,,%%%%%%%%%%%,,,,,,,%%%%%,,,,%%%%%,,,,,,,,,%%%%%%%%%%,%%%%..,,,,,,%%%%%%%%.%%,,,,,,,,,,.....,,,...,,,,,%%%%%,,,%%%,,,,........................................................................................................................,.....,...............................................................................................................................................................................,...............................%........................,..,........,...............................................------------,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------,,,%%%%%%%%%%%%.%%%%%,,,,,,,,%%%,,,,,,%%%,,,,,,,,,,%%%%%%%%%,,,,,.i.,,,,,,%%%%%%%%%%..,,,,,,,,,.,,.,,,,..,,,,,,%%%%%,,%%%%%,,,..............................%.....................................................i.......................................,..................................................................................................................................,..............................................,,...............,,,............%......................................,..............................................-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------%%%%%%%%%%%%%.%%%%%,,,,,,,,,,,,,,,,%%%%,,,,,,,,,,%%%%%%%%%%,,,,i..,,,,,,,,,,%%%%%%..,,,,,,,,,,,,,,,,,..,,,,%,,%%%,,,%%%%%,,,,,............................%...............................................................................................,................................................................................................................................,................................................,..............................................................,....................................................-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------%%%%%%%%%%%%%%.%%%%%,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,%%%%%%%,,,,,,,,,,,,,,,,,%%%%%%%.,,,,,,,~~,,,,,,,,,,,,,%%%,,,,,,,%%%%%,,,,,,...........................%..................................................i...........................................,..................................................................................................................................,.,...........................%..................................,.................................................................................................--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------...-~---------------%%%%%%%%%%%%%%,%%%%%,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%%%%,,,,,,,%%%,,,,,,,.%%%%%%,,,,,,,~~~~~,,,,,,,,,,,,%,%%%,,,,.....,,,,,,...........................%................................................%............................................,,.,...................................,,.........................%................................................................,..................................................................................................................................................................----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------%%%%%,,%%%%%%,.%%%%%,,,%%%%%%%%%%%%%%%%%,,,i,,,,,,,,%%%%%%%%,,,,,,%%%%%%%%%,,%%%%%%%.,,,,,~~~~~~~~,,,,,,,,,,,%%%%%..........,,,,...........................%................................................%%................................................................................i............................%.............................................i............................................................................,........................................,...............................................................----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------%%%%%%%%%%,,,,,,%%%%,,,%%%%%%%%%%%%%%%%%,,,,,,,%%%%,%%%%%,,,,,,,,%%%%%%%%%%,,%%.%%.%,,,,,,~~~~~~~~,,,,,,,,,.................,,,,,.,,.......................%................................................%%i..,..........................................,..................................,...........................%.....................................................................................................................................................................,.,...,........................................................---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------%%%%%%%%%,,,,,%%%%%,,,%%%%%%%%%%%%,,,,,,,,,,,%%%%%,%%%%%%,,,,,,,%%%%%%%%%%,,,..,,.,,,,,,,,~~~~~~~,,,,,,,,,.................,,,,,,,,........................................................................%%...............................................................................i.............................,...........................................................,.,......,.................................................,..,............................................,............................................................----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----%%%%%,%%%%%,,,,,%%%%%,,,%%%%%,,,,,,,,,,,,,i,,,,%%%%%%%%%%%%,,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,..................,,,,,,,,.......................................................................%.,...........................................................................................................,.................................................................,.....................................................,.,,,..,.....................................................................................................----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----%%%%%,%%%%%,,%%%%%%%%,,,%%%%%%,,,%%%%,,,,,,,,,,%%%%%%%%%%%%,,,,,,,,%%%,%%%%%,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,..................,,,,,,,.......................................................................,.,.,.....................................................................................................................................................................,........................................................,....,..........................................,..............................................................-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----%%%%%-%%%%%,%%%%%%%%%%%%,,%%%%%,,%%%%%,i,i,,,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,,,,,,,...................,,,,,,,.......................................................................,,.,.....................................,...............................................................................................................................,..........................................................,,,...........................................,......,........................................................----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%%%%--,,,,,%%%%%%%%%%%%,,%%%%%,,%%%%%,,,,,,,,%%%,,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,.................,,,,,,,,...........................................................................,..............................................................................................................................................................................................................................................................................,.....,.....................................%..................-------------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---%%%%-,,,,,,%%%%%,,%%%%%,,%%%%%%,%%%%%,,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,........,%.......,,,,,,...,..........%.......................................................,...................................................................................,,.%%%%%............................%%%%%.........................%%%%%%%%%..........,................................................%%%............................%%%.........................,.................%%%%%%....................%..................----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,%%%%%,,%%%%%%%,%%%%%,%%%%%,,,,,,%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,.........,,...,,,........................................................................,.................................................~........,............,.........................i...................................................................,...............................................................................................................,..................................,..................----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,.........,,,,,,,,........................................................................,,................................................~................................................i.............................................................,....................................................................................................................................................,.....................---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,%%%%%,,,%%%%%%%%,%%%,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,.,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,........................................................................,.................................................~.........,...............................................................,......................................................................................................,,...................................................................................,.......,...........--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,%%%%%%%%%%%%%%%%,,,,,,,,,,,%%%%,,,%%%%,,,,,,,%%%%,,%%..%%%,,,,,,,,,,,,,,,,,,%%%%%%%.,,,,,,,,,,,,,,,-,,,,,,,,,,.........,,,~,,,,.....................................................................................................................................................................................i...........................................................................................................................................................................................................,.--...............-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,-,%%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%,,,%%%%%%%%,,%%%%%,.%.%%%%%,,,,,,,,,,,,,,,,,,%%%%%.%,,,,,,,,,,,,,------,,,,,,,,..........,~~~~~,,,..............................................................................................................................................................................i..i................,.....,.......................%...........................................................................................................................................................,...,--------....---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------%%%%%%%%%,,,,,,,,,,,,,%%%%%%%%%,,,%%%%%%%%,,%%%%%,,%%%%%%..,,,,,,,,,,,,,,,,,%%%%%%.,,,,,,,,,,,,---------,,,,,,,.........,~~~~~~~~,................................................................................%%......................................................................................i..i....................,.............................%%...............................................................................................................................%................................-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------%%%%%%%%%i,,,,,,,,,,,,%%%%%%%%%,,,%%%%%%%%,,%%%%%,..%%%%%.,,,,,,,,,,,,,,,,,,%%%%%%..,,,,,,,,,,,---------,,,,,,,........,,~~~~~~~~~~...............................................................................%%%.............................................,......................................................,......................................%%...........................................................,........................................,..........................%................................,---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,%%%%,,,,,,i,,,,,,,%%%%%%%%%,,,%%%%%%%%,,,%%%%%..%%%%%.,,,,,,,,,,,,,,,,,,.%%%%%%,,,,,,,,,,,~~~~~~~--.,,,,,,,.......,,,~~~~~~~~~~..................~~~~.........................................................%%%.............................................................................................................,.............................%%.................................................................,.............................................................%................................---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,%%%%%,,,,,,,i,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,%%%%%.%.%%%%%,,,,,,,,,,,,,,,,,.%%%%%.%,,~~~~~~~~~~~~~~~~~~~-,,,,,,......,,,,~~~~~~~~~~~~..............~~~~~~~~~~.....................................................%%%............................................................................................i.........,......,.....,........................%...............................%.........................,........................................................,............%..........................,,...----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,%%%%%,,,%%%%%,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,%%%%%,%%%..%%.,,,,,,,,,,,,,,,,,.%%%.%%~~~~~~~~~~~~~~~~~~~~~~~~,,,,.......,,,..~~~~~~~~~~~.............~~~~~~~~~~~~...................................................%%%.............................................,i......................................................................................................................................................................................................................,......%............................------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,%%%%%,,,%%%%%,,,,i,,,,,,,,,,%%%%%,,%%%%%,,,%%%%%,,..,,..,,,,,,,..,,,,,,,,,,...~.~~~~~~~~~~~~~~~~~~~~~~~~~~~,,.............~~~~~~~~~~~............~~~~~~~~~~~~...................................................%%%..............................................i..............................................................................................................................................,~................................................................,.........................................------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,%%%%%,,,%%%%%,,,,,,,,,,,,,%%%%%%%,,%%%%%,,,,%%%,,,,,,,,,,,,,%....%.,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~.............,,,~~~~~~~~~.............~~~~~~~~~~~~~.................................................%%...............................................i.............................%...............................................................................................................,~~......................................................,,,,.....,.........................................-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,%%%%,,,,%%%%%,,,i,,,,,,,,%%%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,.%%%%.%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..............,,~~~~~~~~.............~~~~~~~~~~~~~~~..............................................................................................................................%...............................................................%...............................................~~~~......................................................,...,....,.,..,,..................................------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,%%%%%,,%%%%,,,,,%%%%%%%.%%%%%%%%,,,,.,,.,.,,,,,,~~~~%%%%%%.,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,..........,.,,~~~~~~~~........~~~~~~~~~~~~~~~~~~~~..............................................................................................................................%..............................................................%%...............................................~~~~~~~~...,,%%%%%,,............................%..................,........................................-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%,,,,,,,,,%%%%%,%%%%%,,,,,%%%%%.%%%.%%%%%%,,,.%.%%.%.,,,,~~~~..%%%%%%.,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~o~,,,..........,,~~~~~~~~........~~~~~~~~~~~~~~~~~~~..................................................................................................i.............................................................................%%%...........%%...............%...............................~~~~~~~~~..,%%%%%%%.............................%..........,,.,......,......................................-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%,,,,,,,,,%%%%%,%%%%%,,,,,,,,,.%%%%%.%%%%%-,i%%%%%%%,-,,,~~~~..%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,...........,,~~~~~~o~.......~~~~~~~~~~~~~~~.~~.....................................................................................................................................%%%........................................%%%%%.%%%......%%...........................%%%.................~~~~.~~~....%%%%%%%.............................%................,..........................................----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%,,,,,,,,,%%%%%,%%%%%,,,,,,,,.%%%%%%..~~~---,%%%%%%..---~~~~~.%.%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~...........,,~...~~~~......~~~~~~~~~~~~~~....~.................................................,..............................................................................................................................%..........................................................................................................................,i..,.,.i...i....................................--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%,,,,,,,,,,%%%%,%%%%%,,,,-,,~.%%%%%%..~~~~~-..%%%%%..--~~~~~~~%%.....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,..............~~~~~~~~~~~~~~~~~~~~.......~~~..~~~..........................................................................%.......................................,.......................%...............................%.................................................................,.,,..........................................%..........,.,...,.,.,.............................,........-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%%,,,,,,,,,%%%%%%%%%%%---~~~~~~%%%%%.%.~~~~~~~%%%%%%.~~~~~~~~~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,................~~~~~~~~~~~~~~~~~~~~.......~~~~~~~~..........................................................................................................................%...............%...........,.........................................................................................,......................................,,....,......,....i......,.......................,..,.,.........------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,%%%%%%%%%%%-~~~~~~~~.%.%%%%~~~~~~~~.%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%.%%.......,...~~~o~~~~~~~~~~~~~,,,,.......~~~~~~~~~.......................................,.,..............................................................%%...............%...............%.......................................................................,..........................,.............................................,..............................................,,,..........------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,%%%%%%%%%%%-~~~~~~~~~..~...~~~~~~~~..%.%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%......%,,~~~~~~~~~~~~~~~~~~,,,,,,.......~~~~~~~~..........................................,.............................................................%%%...............%...............%..............,..............................................................,..............................................................................i.i..........................,,.....,.........-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,%%%%%,%%%%-~~~~~~~~~~~~~~~~~~~~~~~~~~..~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%%.%.%.%.,,~~~~~~~~~~~~~~~~~,...,.......~~~~~~~~.........................................................................................................%%%...........,...................%......................................................................................................................,.,.......,.................................................,.,............,...,....------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,-,,,,,,,,%%%%,%%%%,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%.%.%%%%,,,~~~~~~~~~~~~~~~~~........,...~~~~~~~~...........................................,.,................................................,..........%%%...........,.............................................................................................................................................,....................................................................,..........------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------,,,,%%%%%%%%%%,,---~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%...,..,,,,,o~~~~~~~~~~~~~~,............~~~~~~~~...................................,.........................................................,,..........%%%..................................................................................................,....................................................,..,................................................................,.....,......------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,%%%%%%%%%%,,--~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%%%.%,,,,,,,,,,,~~~~~~~~~~~~~,,....,,.,.....~~~~~~~~~~~.....................................................................................................%%%............................................,,............................................................................................................,..........................................................,.......,..........---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,%%%%%%%%%%,,,-~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%,,,,,,,,,,,,~~~~~~~~~~~~,,,.i,,,.......~~~~~~~~~~~......................................................................................................%%..........................................,....%..................................,................,......................................................,..........................................................,....................------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,%%%%%%%%%%,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.,,.,,,,,,,,,,,,,~~~~~~~~~~~,,,,,,,,,.......~~~~~~~~~~..........................................................................................................................,......................,,.,,.%%................................,.......,........,.,.........,........................................................................................................,....,...,..........------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,%%%%%%%%,,,~~~~~~~~~~~~,,,,~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~,,,,,,,,,%...........~~~~~~................................................................................................................,..................................,..,%%.......................,...........................................................................,......,,.......................................................,....................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%%--~~~~~~~~~~~~~-,,,,~o~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,%%%%%,%%%%%.......~~~~~~....~~.....................................................,........................................................................................,..%%................................................................,,...................................................................................................................---~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%--~~~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,..,.,,,,,,,,,,,,,,,,,,~~~,,,,%%%%%%%%%%%%........~~~~~~~~~~~~~~~.............................................................................................................................................%%..................,.............................,..............................................................................................................%....................--~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%.%%%.,,,,,,,,,,,,,,,,,~,,,,,%%%%%%%,%%%~.......~~~~~~~~~~~~~~~~...............................................,,.,....................................................................................,.....%%................................................................,..............................................................................................%....................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%.%.,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,~~~~........~~~~~~~~~~~~~~~................................................,.........................................................%%%.................................%....................,,...................,.................................................................................%...................................%....................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%~~~~~o~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,.%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%~~~~..........~~~~~~~~~~~~~~~~~..............................................................................................................................................................,...........................................................................................................................................................--~~..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--..~~~~~~~~,,,..%%%%%..,,,,,,,,,,,~~~~~~~,,,,,%%%%%%%,~~~...............~~~~~~~~~~~~~....................................,.....,,.,............................................................,,...................................................,..................................,.....................................................................................................................---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---.%%%%.%.~,,,,,,.%%%%%..,,,,,,,,~~~~~~~~~~~~~,,,%%%%%,,~~.................~~~~~~~~~~~~....................................,.....,,,.......................................................,.....................................................................................................................................................................%............................................---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~---.%.%%%%%.,,,,,,%.%%%.%.,,,,,,,,~~~~~~~~~~~~~~~,,,,,,,,~~..................~~~..~~~~~~~........................................................................................................................................................................................................................................................................%%...........................................---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~..~~~~~~~o~~~~~~~----.%%%%%%%,,,,,,,%%...%%,,,,,,,,~~~~~~~~~~~~~~~~,,,,,,,,,~~~~~~...................~~~~~~~~..........................................................................................................,.................................................,.......................................................................................,,...,............%%..........................................--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~%%.%%.%~~~~~~~~~~~~~~~---,,%%%%%%%.,,,,,,,,,,.,.,,,,,,,,~~~~~~~~~~~~~~~~~,,,,,,,,~~~~~~..................~~~~~~~~~.....................................,,.........................................................................i......................................................................................................................%..............................%%..........................................--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~...%%%%%~~~~~~~~o~~~~~~-,,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~,,,,,,,,,~~~~...................~~~~~~~~~.........................................................................................................i.......i.....................................................................................................................%............,..%..............%%.........................................--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,..%%%%%..~~~~~~~~~~~~~,,,,,.%.%%%.%,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~,,,,,,,,,.....................~~~~~~~~~......................................,...........................................................,....%.......i.......................................................................................................................%.........,.....%..............%%...................i...............----..--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,%%%%%%.~o~~~~~~~~~~~~,,,,,,%%.%.%%,,,,,,,..,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~o,-,,,,,,.....................~~~~~~~~~~.....................................................................................%%..............%%...............................................................................................%.......................................,,,,,...%...............%...................i...............-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~---,,,,,,,,,%%%%%%.~~,,,,~~,,,,,,,,,,,,....,,.,,,,%%%.%%%,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,,,,~.....................~~~~~~~~~....................................................................................%%%..............%%...............................................................................................%...........................................,.,......................................................-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,-,,,,,,,,,~-%%%%%.%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%.%.,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~,~~~....................~~~~~~~~~....................................................................................%%%..............%%...............................................................................................%..............................................,......................................i................---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,i,,,,,,~~-.%...%%,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,%%%%%%..,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....................~~~~~~~~~....................................................................................%%%..............%%...............................................................................................%.................................................,................................i...................--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-,,,,,,,,,,,,,,,,,,-~~---....,,,,,,,,,,%%..%%%.,,,,,,,,,,,,,,.%%%%%%.,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....................~~~~~~~~~.....................................................................................%%%..............%%...............................................................................................%...............................%................................................i.................-...-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,~~~~---,,,,,,,,,,,,...%%%.%,,,,,,,,,,,,,,,%%%%%%%.,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...................~~~~~~........................................................................................%%%...............%..............................................................................................................................%%...............%.................................................-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~----,,,,,,,,,,,.%%%%%%%.,,,,,,,,,,,,,.%%%%%..,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~................~~~~~~~.........................................................................................,%%.......................................................................................%%%%%.................%%%..............................%%...............%................................................-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,~~~~~...-,,,,,,,,,,,,.%%%%%%.,,,,,,,,,,,,,,,%%.%%%%,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...............~~~~~~................................................................................................%............................................................................%%%%%%%%%%%%%...............%%%%..............................%%...............%................................................----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~~~~-,,,,,,,,,,,,,,,,,~~~~..%.....,,,,,,,,,,%%%%%%.,,,,,,,,,,,,,,,.,,.,,,,,,,,,,,,,,,,,-,~~~~~~~~~~~~~~~~~~~~~~~~~~~..............~~~~~~.......................................................................................................................................,..........................-..........%...............................................................%..,......................,.ii.........................%%%%--...---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,,,,,,,,,,,,~~~...%%%%%,,,,,,,,,,,%%%%%.%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~.............~~~~~~~........................................................................................,...................................................................................%................................................................,,,.........................i........................-%%%---...--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%.%.,,,,,,,,,,,,,,,~~~~..%%%%%%~~,,,,,,,,,.%...%%,,,.,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~............~~~~~~~~.........................................................................................................................................-.......................-.........%................................................,......,,...........................,.....i.i.......................------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%%~,,,,,,,,,,,,---~~~~..%%%%%..~~,,,,,,,,,.,.,.,,,..%..%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~.............~~~~~~~~.............................................................................................................................,............-..........................................................................................................................i.........................-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%.~~~,,,,,,,,,---~~~~~~.%%%%%%.~~~~,,,,,,,,,,,,,,,..%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~.............~~~~~~~~~~~......................................................................................................................................................................................%................................................,...........................i.......................---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%.~~~,,,,,,,,--~~~~~~~%.%%%%%~~~~,,,,,,,,,,,,,,,,,%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~..............~~~~~~~~~~~......................................................................................................................................................................................%...............................................................%.......i..,.,.......................--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%.%~~~~~~,,,,,~~~~~~~~~~.%%.%%%.~~~,,,,,,,,,,,,,,,,,.%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~............~~~~~~~~~~~~~........................................................................................................................,................................................,............%................................,.............................%%....i..........,.....................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%%%~~~~~~~~~~~~~~~~~~~~~~.~..~~~~~,,,,,,,,,,,,,,,,,,.%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~..........~~~~~~~~~~~~~~~.....................................................................................................................................................................................................................................................%%......,.............................--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~~~..~~~~~~~~~~~~o~~~~~~~~~o~~~~~~~~,,,,,,,-----,,,,,.%%%%%.%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~.........~~~~..~~~~~~~~~...........................................................................................................................................................................,.........................................................................%%....................................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.o.~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,---------,,,..%%.%..,,,,,,,,,,,..,..,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~........~.....~~~~~~~~..~,........................................................................................................................................................................,,............................................,...,.......................%....................................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~%%...%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~,,,,---------,,,,,,,.,,,,,,,,,,,,,%%%%%%,,,,,,,,.,,,.,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~..............~~~~~~~~~~~,.............................................................................................................................................................,,..........,.......%%....................................................................................................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%.%~~~~~~~~~~~~~~~.~~.~.~~~~~~~~~~~~~~~~~~~~~~~~~~~o~----,,,,,,,,,,,,,,,,..,,.%%%%%.%,,,,,..%.%.%%,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~-~..........~~~~~~~~~~~~,..............................................................................................................................................................,.........,.......%%%....................................................................................................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~.%%%%%.~~~~~~~~~~~~~~%%%..%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,.%%...%%%%%%%,,,,,,%%%%%...,,,,,,,,,~~~~~~~~~~~~~~~~,,---~~~~~~.....~~~~~~~~~~~~,..................................................................................................................................%................................,............%%%...................................,..............................................................---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%~~~~~~~~~~~~~~%.%%%.%~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,%%%%%%.%%%%%.,,,,,,%%%%%%%.,,,,,,,,,,~~~~~~~~~~~~~~,,,----~~~~~~~~..~~~~~~~~~~~~,..%...............................................................................................................................%.................................,.,.........%%%................................................................................................-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%.~~~~o~~~~~~~~.%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,.%%%%%%%%%%%%%,,,,,,%%%%%%..,,,,,,,,,,,~~~~~~~~~~.~..,..----~~~~~~....~~~~~~~~~~...%%...............................................................................................................................%..................................,..........%%%................................................................................................-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~.%.%%%%%~~~~~~~~~~~~~~.%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,.%%%%%..%%%.%,,,,,..%%%%%%,,,,,,,,,,,,,,,-~~~~--%%%.%%%.---~~~~~.....~~~~~~~~~~...%%............................................................................................................................................................,%%%.............%%%....................................,............................................................----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~%%%.%.%~~~~~~~~~~~~~..%%%%%..~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~---,,,,,,,,,,,.%%%%%%..%.%%%.,,,,.%%%%%%.,,,,,,,,,,,,,,,,---,,-%.%%%.%.-~--~~~~.....~~~~~~~~~~............................................................................................................................................................,...,..................%%............................,................,......-.............................................---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~~.~~~~~~~~~~~~~~.%.%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,%.%%%%%..,.,.,,,,,,.%%..%%,,,,,,,,,,,,,,,,,-,,,..%%%%%%.~-~---~~........~~~~~~~~,......................................................................................................................................................................................................................,.........,,...........................,.......................----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%.%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,%%%.%%%,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%.~-~-----.........~~~~~~~~..............................................................................................................................................................................................................,..,..,,,,........,~~.......................,.......,.................-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...,.,,,,,,,,,,....*.,,,,,,,..,,.,,,,,,,,....,,,,,,,,,,,,,,,,,%%%%%%%~,---~--,.........~~~~~~~~...i............................................................................................................................................................................................................,...,...........,~.............................,...................------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~..~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~%...%%.,,,,,,,,*,****,,,,,,,%..%%%,,,,,%%%%%%%,,,,,,,,,,,,,,,..%%%%%%.,,,,,,,,....~~...~~~...~..............................................................................................................................................................................................................,.........,..,.....,.~................................................------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~.%%..%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%.%%%~~~~~~~~~..~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~.%%%%%.%.,,,,,,,,,***S,,,,,,%.%%%%%,,,,.%.%%%.%,,,,,,,,,,,,,,,,%%.%.%%,,,,,,,,,....~~~~~~~~~.........................................................................................................................................................................................................................,..,........,~.........................,.,....................------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%%%%%.~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~%%%%%..~~~~~~~~.%%%.%%%~~~~~~~~~~~~~~~~~~~~~~~o~~~~~.%%%%%%%.,,,,,,,,,***,S,,,,.%%%%%%.,,,,.%%%%%%.,,,,,,,,,,,,,,,,,...,,.,,,,,,,,,.....~~~~~~~~..........................................................................................................................................................,..................................................................,..........................................................-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o..%%%%%%~~~~~~~~.%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%.,,,,,,,,,,,,,S,,,,,,%%%%%%%.,,,~.%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....~~~~~~~~......................................................................................,..................................................................................................................................,,....................................,i,.....................-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%.~~~~o~~~.%%%%%%.~~~~~~~~~~~~~~~o~~~~~~~~~~~~.%%%%%%%.,,,,,,,,,,,,,,,,,,,.%%%%%%.,,,~.%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,.....~~~~~~~~~..................................................................................................................................................................................................................,,.~.....,,.............................................,.......,..------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%.~~~~~~~.%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%%.,,,,,,,,,,,,,,,,,,,.%.%%%%%.,,~.%%%%%%%,,-,,,,,,,,,,,,,,,,,,,%...%%%,,,,....~~~~~~~~....................................................................................................................................................................................................................~~~......,...................................................,....---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~.%.%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~.%%%%%.%.~~~~~~~..%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%.%.%%,,,,,,,,,,,,,,,,,,,.%%%%.%%.,,~~%%%.%.~----,-,,-,,,,,,,,..,.,%%%%%.%.,,,....~~~~~~~.......................................................................................................................................................................................................................................................................................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~%%.%.%~~~~~~~~~o~~~~~~~~~.~~~.~~~~~~~~~.%%%%%%%~~~~~~~~~.%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,.,,..,,,,,,,,,,,,,,,,,,,,.,...,.,,,~~~~~.~~~~---,------,,,,,%...%..%%%%%%,,,,....~~~~~~.........................................................................................................................................................,,.,.,...........................,.................................................................i...........%.....,.,.......------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~.~~~~~~~~~~~~~~~~~~~~~%%%%%%.~~~~~~~o.~~.~.~~o~~~~~~~.%...%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~-------~--,,,,,%%%%%.%%%%%%%.......~~~~~~~..............................................................................................................................,,..........................,....................................................................................................i.......%%..............------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~..%%%.%~~~o~~~~~~~o~~~~~~~~~~~~~.....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~-----~~----,,.%%%%%%.%%%%%%......~~~~~~~~,......i......................................................................................................................................................................................................................................%%%%%....................%%.....,,......---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~o~~~~~~---o~~~------%%%%%%%.%%%.%......~~~~~~~~,%%%%%i......................................................................................................................,.................................,.............................................................................%%%%%%%....................%.....,.,....%-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~o~~~~~~~~~~----%%%%%%.%%%%%.,.....~~~~~~~~%%%%%%%....................................................................................................................................................................................%%%.......%%%%....................................%%%%%%%.................%-.%............%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oo..%%%%%%~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,..,,,,,,,,,.,,,,,,,,,,,~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~--%.%%%.%.,.,,,,.....~~~~~~~~%..........................................................................................................................,....,.....,....................,.,.....................................................................................................%%%---%....,,....%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%%%%%.~~o~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%.%%%,,,,%..%.%,,,,,,,~~~~~~~~~~o~~~~~~~~~~oo~~o~~~~~~~~~%%%%%%%.,,,,,,......~~~~~~~%%............................................................................................................................,..............................,....................................................................................................%%%%----.........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%.%%o~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%.%.,,,%%%%%.%,,,,,~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~..~..,.,,,,,,,......~~~~~~~%%.........................................................................................................................,.....................................................................................................................................%%%%----.........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~.~.~~.~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%..,,..%%%%%..,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,.,,,,......~~~~~~~~%%........................................................................................................................,,,....................................................................................................................................--------........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%.,,..%%%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,....,.....~~~~~~~~~~%...............................................................................................................................................................................................................................................................---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~.....~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%,,,,.%%%%%..,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~..........~~~~~~~~~~.................................................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~%..%%%.~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%%%.,,.%.%%%%%.,,,-~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~,........~~~~~~~~.....................................................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oo~~~~~~~~~~~~~~.%%%%%%~~~~~~~o~~~~~~~~~~~~~~~~~o~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%.%%.-,,,%.%%%%%,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.......~~~~~~~~....................................................................................................................................................................................,................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~.%%%%%%.~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~.-----,......,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.......~~~~~~~~...................................................................................................................................................................................,................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oo~~o~~~~~~~~~~~~~~~~~~~~%%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~~~~~~~~~~~~~~~...................................................................................................................................................................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------,,,,,,,,,~~~~~~~~~~~~~~~~~~~~o~~~~~o~~~~~~~~~~~~~~~~~~~~..~~~~~~~~~~~~~~.....................................................................................................................................i.....i..............................................,........................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~o~~~~~~~.%.%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~oo~~~~~..~~~~~~~~~~~~~~.......................................................................................................................................i...................,,....................,.........................................................................~.......~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%..%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~o~o~~~~~~~~~~~~~~~..~~~~...~~~~~~~~~~~~~................................................................................................................................................................................................................................................~~........~~~~...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~...o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~....~~~~~~~~~~~~~~~~...........................................................................................................................................i.................,....,...............................................................................~~~~.....~~~~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~o~~~....~~~~~~~~~~~~~.........................................................................................................................................%%%%%..i.............................................%,....................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~o~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...~~~~...~~~~~.........................................................................................................................................%%%%%%%.....................,.....................,%%%%...................%%%...............................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~o~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~.............................................................................................................................,............................................................i.........i......,,.................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oo~~~~~~....~~~~~~...........................................................................................................................................................................,..............................,.......,...........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~.~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~o~~~~~~....~~~~~~~........................................................................................................................................................................,..............%.................i...,...............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....~~~~~~~..................................................................................................................................,.......................................,...........%%..........i,.....,...,..,...........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%.%~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~o~~~~~~~~~~~~~~~~~~~.......................................................................................................................................................................,.............%%.........i.i..........,.,...........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~.%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........................................................................................................................................................................,............%%....................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%%%.%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%~~~~~~~~~~~~~~~~~~o~~~~~~~o~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..........................................................................................................................................................................,...........%%.......,,.,..........................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%~~~~o~~~~~~~~~~~~~~~,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~......................................................................................................................................................................................%%........i............................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%.~~~~o~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%..~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~........................................................................................................................................................................................%........,.............................................,...............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~.%%%%%%~~~~,~~~~~~~~~~,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%.%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~........................................................................................................................................................................,.....................i.,..............,......................%....,..,..............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%%%.,,,,,,,,...,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%..%%..,,o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.............................................................................................................................i.............................................................,,.............,........................%......................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-.%...%.,,,,,,,.%%%%%.,,,,,,,,~~~~~~~~~~~~~~~~~..~.~~~~~~~~.%%%%%.%.,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...........................................................................................................................i.i.....................................................................................................%....,.,..............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,..,,,,,,,,,%.%%%.%,,,,,,,,~~~~~~~~~~~~~~~%%.%.%%.~~~~~~~.%%%%%%,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~.~~.~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~............................................................................................,............................................................................................................................................,.............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,.%%%%%%.,,,,,,,,,~~,,,,,,,,,,,%%%%%.%-,,~~~~,%%%%%%..,,,,,,~~~~~~~~~~~~~~o~~~o~~~~~%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~o~~~~~~~~~~~~~~~...................................................................................................................%%%%%.........................................................................................................,.......,...........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,%%%%%%%.,,,,,,,,,,,,,,,,,,,,,,%%%%%%%.,,,,,,,%%%%%%%,,,,,,,~~~~~~~~~~~~~~~~~~~~~o~~%.%%%%%~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~......%%%........................................................................................................%%%%%%%.............................................................,..............................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,..%%%%%%,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%,,,,,,,,%%%%%%.,,,,.,,~~~~~~~~o~~~~~~~~~~~~~~.%%%%%%..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~......%%%%%.......................................................................................................%%%%%%%..........................................................%..............................................%..................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,%.%%%.%.,,,,,,,,,,,,,,,,,,,,,,.%%%%%%,,,,,,,,%%%%.%%%%%%%%.,~~~~~o~~~~~~~~~~~~~~~~.%%%%%%%~~~~~~~~~~~~~~o~~~~o~~~~~~~~~~~~~~~~~~~~o~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........................................................................,...,...................................-...................................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,.%%%.%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%%.,,,,,,,,.,,.,,%%%%%.%,,~~~~~~~~~~~~~~~~~~~o~~..%%%%%..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~oo~~~~~~--~~~~~~~~~~o~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~.............................................................................,..................................--.......................................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,....,,,,.,..,..,,,,,,,,,,,,,,,%%%%.%%,,,,,,,,,,,,,..%%%%%.,,~~~~~~~~~~~~~~~~~~~o~o.%%%%%.%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~---~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.............................................................................,...................................-..............,.,......................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,..,.,,,,,,,,.%%...%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%.,~~~~~~~~~~~~~~~~~~~~~~~.%%.%%%.~~~~~~~~~~~~~~~~~~~o~~~~~~~o~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..........................................................................,...,.............................-......................................................................,....................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,.%%.%%%%.,,,,,,%%%%%%%,,,,,,,,,,,,,,%%.%%%.,,,,,,,,,,,....%%%%%%.,,~~~~~~~~~~~~~~~~~~~~~~~~.~~.~o~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-,-,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..................................................................................................................................,.....................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,.%.%%%.%,,,,,,,%%%%%%%,,,,,,,,,,,,,.%%%%%.%,,,,,,,,,%%..%.%.%%%%%.~~~~~~~~~~~~~~~~~~~~~~~o~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~----,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~................................................~~~.............................,...............................................,.............................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~.,..,,,,,,,,,.%%%%%..,,,,,,%%%%%%.,,,,,,,,,,,,,,%%%%%%%.,,,,,,,.%.%%%%%%%%%%%-~~~~~~~~~~~~~~~~~~,,,,,,,,,,o~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..........................................~~~~~~~~..............................,................................................,...........................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%.,,,,,,.%%%%%%%.,,,,,..%%%%%%.,..,,,,,,,,,,.%%%%%%.,,,,,,,,%%%%%%%---.--o~~~~~~~~~~~~~~~~~,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........................................~~~~~~~~............................,.........................................,......,..,..............................................................................................,............................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~...%%%%..,,,,,,%%%%%%%,,,,,,.%.%%%%%%%%%%.,,,,,,,.%%%%%%%.,,,,,,,.%%%%%%%.-----~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~o~~~o~~~~o~~~~~~~~~~~~~~~~~~---,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........................................~~~~~~~~......................,................................................,.......................................................,............................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%.,,,,,,,%%%%%.%,,,,,,,%%......%%%%..,,,,,,.%.%%%%..,,,,,,,..%%%%%..---~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~---,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..........................................~~~~~~~~~~~~~..................,.,...............................................,..,.................................................................................-.................,..........................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,,.%%%%%.,,,,,,,,,,.,,.%%%%%..,,,,,,,%%%.%..,,,,,,,,.%.%%%.%--~~~~~~~~~~~~~o~~~~~~-,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........................................~~~~~~~~~~~~~~~~.................,....,...........................,...................,.....i.........................................................................---...........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%.,,,,,,,,,..,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,,,.,,.,,,,,,,,,.%%.%.%%-~~~~~~~~~~~~~~o~~~~~-,,,,,,,,,,,,,o~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~----,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....................................~~~~~~~~~~~~~~~~~~~~.....................%%..........................~~~~.................................................................................................-~--...............,..,...........,..........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%%%.%.,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%..,,,,,,,,,,,,,,,,,,,,,,,,..,,,,~~~~~~o~~o~~~~~~~~~~--,,,,,,,,,,,,,~~~~...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~~~......................~~~~.....~~~~~~~~~~~~~~~~~~~~~,...................%%%..........................~~~~~...........,..............i........,,............................................................~-...........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,.%.%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~o~o~~~~~~~~~~~~~~-,,,,,,,,,,,,.%%.%.%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.................~~..~~~~~...~~~~~~~~~~~~~~~~~~~~~~~....................%%%.............................~~~...............................................%...................................................................,............,..,,............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~-,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%.%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~---,,,-,,,,,,,%.%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~---,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....................%%%..............................~~...............................................%.......................,.................................%%%.....,......,........................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~--------,,,,,.%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~--,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.....................%%%........%...%..........,.......~.....%%%.......................................%........................................................%%%%%...,,.,..............................~~~~~~~~~~~~~~~~~~~~~~~~~~..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~o~~o~~~~~~~~~~~~~~~~~~--,,,,.%%%%%..~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~,,,,,,--~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....~~....~~..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.............................................................................................,..............................................................................................,..............~~~~~~~~~~~~~~~~~~~~~~.......~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,**,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,.%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~~~~..~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...................................................................................,.,.,,..............%......................,.............................................................................~~~~~~~~~~~~~~~~~~~~.........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%.%%%,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....~.................................................................................,.,......,..............................,.........................................................,....................~~~~~~~~~~~~~~~~~~~~........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,%.%%%..,,,,,,,,,,,,,,,,,,~~,,,,,,,.%.%%%%%.,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%.%%%%~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~...~o~~o~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~...~~~~....................................................................................,,.................................,.................................................................,............~~~~~~~~~~~~~~~.~~~~.......--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,..%%%%%%,,,,,,,,,,,,,,,,,,~~,,,,,,,,%%%%%%%,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~...~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...o~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~~~~~~...............................................................................,,......................................,...............................................................,.......,.....~~~~~~~~~~~%....,,,,......----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,.%%%%%.,,,,,,,...,,,,,,,,,~,,,,,.,..%%%%%%,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~~~~~~oo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~................................................................................,...................................,.........................................................................,,......~~~~~~~~%......,,......------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,..%%%%%..,,.%%%.%%%,,,,,,,,,,,,,.%%.%.%%%%..,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...........%.................................,,.....,.......................................................................................................................................,........~~~~~~~%..............--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,.%%%%...,,.%%%%%%%,,,,,,,,,,,,,,%%%%%%..%%,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~.....................................................,.......................,......,.......................................................................................................,,..,....~~~~~~~%%.............----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,....%%.,,,,.%%%%%..,,,,,,,,,,,,,%%%%%%%.%%,,,,,,,~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--******,,-~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~............................................................................,................................................................................................................,......~~~,.~~..............-----..------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,...,,,,,,.%%%%%%,,,,,,~~~,,,,,.%%%%%%,,,,,,,,,,~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-****..,.-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,.............................................,....,.............................................................................................................................................~~~....~...............---.....------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,~,,,,,,,,,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%.,,,,,,~~~~~~~.%%%%%%%.,,,,,,,,~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--****%%..%.~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%........................................,..................................,.........................................................................................................,...............~.......................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~
~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%%%%%.,,,,,~~~~~~~~%.%%%.%.,*,,,~,~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~,,***%%%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%...................................................................................................................................................................................,.-.......-%......~~~~~...................--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,~~~
~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%.,,,,,,~~~~~~~~,%%.%%%*,,~~,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,.%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%..................................................................................................................................................................................------...%%-%.....~~~~~~~..................---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,~~,,,,,,,....****~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~o,,,,,,,.%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~o~~~%%%%...........................................,....................................................................................................................................---------%%%--%%...~~~~~~~.....................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,,,,,***~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,.%%%%%..~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~o~~~~%%%................................................................................................................................................................................----------------%...~~.~~~......................------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,..%%%%.%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%.%%%.....................................,,,,....................................................%%%...........................................................................-----------------....~.~~.......................------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~,,,,,,,%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~......................,..,..,.....,......%.........................................................................................................................................-----------------..............................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~oo~,,,,~~.,..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.......................,.,,,...........%%.........................................................................................................................................--------------------..-........................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,.,,,,,,,,,,,,,,,,,,,,,,,**~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,~~~~~,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%................,..,..,,.............%%...............................................................%.........................................................................------------------------.......................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%..%%,,,,,,,,,,,,,,,,,,,,,.***..~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%....................................%%...............................................................%..........,..............................................................------------------------.......................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,.%.%%%..,,,,,..,,,,,,,,,,,,,%%.%.%%.~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~.~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%......%............................%...............................................................%.........................................................................-----------------------.......................,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%%,,.%%%..%,,,,,,,,,,...%%%%.~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~%%%%%%,-----,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~.%%%.%...%%%%%..........................................................................................,.........................................................................-----------------------.....................----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,..%%%%%.,.%.%%%%.,,,,,,,,,,..%%%%%..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%.%,,,-,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~..,,,,%%%,..................................................................,...........................................................,,...................................------------------------.....................----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%.,%%%%%%%.,,,,$*****.%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~o~~~~~~~o~~~~~~~~~~~o~~~~~~~~~,,,,,,,,,,,,,~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%.,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~,,,,,,,...................................................................,..,...............,......................................,.....................................--------------------------...................----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,.%.%%%%%.,%%%%%%..,,,,,,,**.%%%%%%..~~~~~~~~~,,~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~,,,,,,,,.................................................................,................................................................................................-------~~~-------------------............--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,.%%%%.%,,,,.%%%.%%,.%%%%%%.,,,,,,****.%%%%%%%~~~~~~~o~~~-~---,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~..~~~~~~~~--,,,,,,,,,,,,,,~~~~~~~~o~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~,,,,,,%...................................................,................................................,...............................................................----~~~~~~~~~~~~~~~---------..,........---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,%.%%%%%,,,,,,,,..,,,%.%%%.%,,,,,,,,*,.%%.%%.%~~~~~~~~-----~---,,,,,,...,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%.%.~~~~~~---,,,,,,,,,,,,,,o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%.%,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%....................................................................................................,..........................................i....................~~~~~~~~~~~~~~~~~~~~~~~~~---...........---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,..%%%%%%.,,,,,,,,,,,.%%%.%%%.,,,,,,******.,***~~~~~~~~-~-~~----,,,,%%...%,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o~%.%%%%%~~~~~~~---,,,,,,,,,,,,,,~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%....,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~................%........................,...............................,..................................-.............................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~............----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,%%%%%%..,,,,,,,,,,,,,,,,.,,,,,,,,,,,**,*,,****~~~~~--~~~~~~---,,,,%%%%%%%----~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%.,----~----,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.,,..,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~................%...............%......,,....,............,...............................................,.-........................................................~~..~~~~~~~~~~~~~~~~~~~~~~~~~~~....,.......-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,.%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,**********~~~~~~~~~~~~~--,,..%%%%%.,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%,,,-------,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,.,..,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,...............%..............%%.........,..............,...............,..................................,.................................................i......~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,.%.%%%.%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,******,,,**~~,~~~~~~~~~-,,,..%%%%%.,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%.,,,-------,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%%%,,,~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~,,.......................%%%...%%.......,..%%%......................................................................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,.%.%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,**,*,,,,,,~~~~~~~~~~~,,,,%%%%%%.,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%.,,,-----,,,,,.,,.,,,,,,,,,~~~~~~,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.,,,,%.%%%%%.,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,.....................%%%%%%%%%........,%%%%%...........,................,...................%.....%........,.....................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.......--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,*,**,,,,,~~~~~~~~~~~,,,.%.%%%..,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%..%,,,,,,-,,,,,,.%.%.%.,,,,,,,,,,,,,,,,~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~.,,,,%%%%%%..,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,..............%......................,..........,......,.............,.,......,,,.,.............................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--...----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,*,,*,*,,,,,,~~~~~~~~~~~,,,,.%%.%%.,,,,,-,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~,...,,,,,,,,,,,,,.%.%%%.%,,,,,,,,,,,,,,,.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,.%%%%%%,,,,o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~..............%%...................................i,..,...........,....,.......,,,.............................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,**,,,,~~~~~~~~~~~~,,,,.,..,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,..%%%%%.,,,,,,,,,,,,,,,,~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~.,,,,%%%%%%.,,.,.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~..............%%.....................,..............,.,.,................,....,,..,..,..........................................................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,*,**,,,,~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%.,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.,,,,%.%%%.%.%%.%.%..~~...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..............%%........,...............,....,.%......i,i..,,............,........,.....................................................................-........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,*,*,,,,,,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,..%%%%%%,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~o~~~~~~~~~~~,,,,,,%%.%.%%,%%%%%%%%..%.%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~............%........,.................,.,.%%...ii.i,.,...............,..........,............................................................~~~~.----.......~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,***,,,**,,,,*,*,,,,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~,,,.%.%%%%%,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,..,,,.,,.%%%%%%%.%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.....................,..,.............,..,.%%......,..........................................................................................~~~~----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,***,,,,,,,,~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~,,,%%...%%.,,,,,,,,,,,,,,,~~~~~~~~~~~o~~o~~~~~~~~~~~~,,,,,,,,,,,,,,,,%%%%%%.%%%%%%%~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~......................,,..........,.....,..%%....................................,............................................................~~~~----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,**,*******************~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~o~~~,,,,~......,,,,,,,-,,,,,,~~~~~~~~~~~~o~~~~~~~~~~~,,-,,,,,,,,,,,,,,,,.%%%%%%%%%%%%%..--~~~~~~~~~~,..-~~~~~~~~o~o~~~~~~~~..........................,...........,.....%....,....................,.......................................................................~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------..,.--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,---~~~~~~~o~~~~,,,~%%.%%%%.,,,,-----,,,,~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,.%%%%%.%.%%%%%%----~~~~~~~~,,,,-,,,~~~~~~~~~~~o~o~~~...,,..................................,.....i.....i.........................................................................................~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------.,...----.....------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,---~~~~~~~~~~~~~~~~~%%%%%.%.,,,---~~~~~~~~~~~~~~~~o~~~~~~~~~~,,,,,,,**,,,,,,,,,,,,,,.%%.%%%%%%%%%%%-----~~~~~~~,,,,,,,,-o~~~~~~~~~~~~~~~~~~,,........................................................................................................................................~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------%%.,..,,..........----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,~~~~~~~~o~~~~~~~~~~~.%%%%%%.,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~.,.,.,.,,,,,,,,,,,,,,,,,,,,,.,~.~.%..%..-------~~~~,,,,,,,,--~~~~~~~o~~~~~~~~~~~-,.........................................................................................................................................~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------%%%...,...........------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,~~~~~~~~~~~~~~~~~~~~~.%%%%%%.-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%.%.%%.,,,,,,,,,,,,,,,,,,,,,~~~~~~~.~,,,,,-,,,,,~,,,,,,,,----~~~~~~o~~~~~~~~~~~~..........................................................................................................................................~---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------..................-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,~~~~~~~~~~~~~~~~~~~~~..%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%.%%%.%.,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~,,,,,,,,,,,,,,,,,,,,----~~~~~~o~~~~~~~~~~~~.....................,........,........................%.................................................................................~~----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------...........,,.....,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,~~~~~~~~~~~~~~~~~~~~~~.%.%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%%.,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~......................................................%%...............................................................................~~~~----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----..........,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~o~~.%%.%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~...........~......................,.,.................%%..............%%%...%%%.................%%%.....................................~~~-..--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----........%,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~.%.%%%.%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,..%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~o~~~~~~~~~~~~~~...........~~..~~......~,.......%%%...................%%.............%%%%%.%%%%%...............%%%%%....................................~~~...----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----........%,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,.%%%%%.%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----o~~~~~~~~~~~~~~~~~~~~~~~.....~~~~~~~~~..~~~,.....................................................................................................................------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-........,i,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%.%%%,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~o~~~~~~~~~~~~~~~~~~.~~~~~~~~~~~~~~~~......................................................................................................................-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-........,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%..~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,...,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.......................................................................................................................--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....%....,,i,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~%%%%%.%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,*,***,,,,,,,,,,,,,,,,,,,,,,.,,,.,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~.......................................................................................................................------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....,.,,,.,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~o~...~~~~.%%%%.%.~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,*,***,,,,,,,,,,,,,,,,,,,,,,.%.%%%,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,.....................................................................................................................--------------------~~~~~~~~~~~~~~~~~~~~~~~~.~~~.....,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~o~~~~~~.%%%%%%.~~o~..~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,%.%%%.%.,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,....................................................................................................................--------~~~~-----------~~~~~~~~~~~~~~~~~~~~.........,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%%.,,,,,,,,,,,,,,,,--o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.....................................................................................................................---~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~.........-,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~..%%%%%.~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%.,,,,,,,,,,,,,,,,,--~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%....................................................................................................................%%%%%~~~~~~~~~------------~~~~~~~~~~~~~~~~~~.........---,,,,,,,,,,,,,i,,,,,,,---------------------------------------~~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~.%%%%%%%~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%..%%,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%.,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,~~~~..~~~~~~~~~%.....................................................................................................................%%..%%~~~~~~~~-------------~~~~~~~~~~~~~............~----,,,,,,,,,,,,,,,,,,,,----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~%%%%%%..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%%.,,,,,,,,,,,,,,,,-~~o~~~~~o~~~~~~~~~~~~~~~~~~~~~~~,..,,,~...~~~~~~~~~%.........................................................................................................................%~~~~--~~~-------------~~~~~~~~~~~~~............~-----,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~.~~.~.~.%%%%%.%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,%%..%%%,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--.,.,,.....~~~~~~~~%%.......i...............%................................~...............................................................%%~~~---~~~------------~~~~~~~~~~~~~~..........~~-----,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~%%%..%~.%.%.%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,.,.,,,,,,,~~~~~~~~...-..,,,,,---------~~~--,,.,..,....~~~~~~~~~%%%.....................%...............................~~~.............................................................%%%~~----~~~------------~~~~~~~~~~~~~~..........~~~-..-,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~%%%%%.%..~..~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%...,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%.%%%%.,,,~~~~~~o..%%%.%%.,,------------~--,.......,..~~~~~~~~~~,,.....................%.............................~~~~~~..~~........................................................%%%~~----~~~------------~~~~~~~~~~~~~~...........~...---,,,,,,i,,,,,,,,,,,,,,,----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~..%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%.%%%%%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%.%,,,,,~~~~,,,%.%%%%%,,--------------,,...%%%%%i....~~~~~~~~.......................%.............................~~~~~~~~~~~~......................................................%%-------~~~-----------~~~~~~~~~~..~~~...............--,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~.%%%%%%%.~~~~~~~~~~~~~o~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~%%.%.%.%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%%.,,,,,,,,,,,.%%%%%%.,,,,--~~~~~--,,,,..%%%%%%%....~~~~~~~..................%.....%.%%%........................~~~~~~~~~~~~~......................................................----------~~-----------~~~~~~~~~.....................--,,,,,,,,,,,,,,,,,,,,,,,,,-----,---------------------------------------,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~.%%%%%%%~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~,..%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%..,,,,,,,,,,,%%%%%%.,,,,,,~~~~~~~,,,,,..%%%%%%%....~~~~~~~...~--...........%,......%%%%%.......................~~~~~~~~~~~~~........................................................%%%-----~~-----------~~~~~~~~~.....................--,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,--------------------------------------,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~.%%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,.%%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,.,%%%%%%..,,,,,,,,,,,.%%%%%%.,,,%%%~~~~~.~,,,.............,,~~~~~~..~~--...........,,.................................~~~~~~~~~~~~~~~~.......................................................%%%----..-----------~~~~~~~~......................-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------,,,---------------,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~%%...%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~,,%%%%%%%.~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%..,,,,,,,,,,,.%%%%%%%,,,%%%...~....,,....................~~~~~~--,......%%.%.,,...............................~~~~~~~~~~~~~~~~~~~..~~~..................................................%---...-----------~~~~~~.......................-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------,,,,,,-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,~~~~.~~~.~.~~~~~~~~~.~~~~.~~~~~~~~~o~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%.%%%.%~~~~~,,,,,,,,,,,,,,,,,,,.,,,,,,,,.%%.%%%%.,,,,,,,,,,,.%%%.%%,,,%................................~~~~~~~-.......%%%%.,,,.............................~~~~~~~~~~~~~~~~~~~~~~~~~................................,......,..................----------~~~~~~.......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------,,,,,,,i-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,~~~~~~~~~~~~~~~~~~.....%.~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,.%%%%%%~~~~~~~~,,,,,,,,,,,,-,,,,...,.,.,,,.,,.,,,,.,.,,,,,,,,.,,,,,,,%%................................~~~~~~~........%%%..,,....%........................~~~~~~~~~~~~~~~~~~~~~~~~~~...................................,......................----------~~~~~~........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,-------,,,,,,,,,------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,~~~~~~~~~~~~~~~~.%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,.,,.,~~~~~~~~~~,,,,,,-,,-----.%..%%%%.,,,,,,,,,,.%.%%%.,,,,,,,,,,,,%%%...............................~~~~~~~~........%%%.,,,....%......................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.............i.................,...,,...................--------.~~~~~~...................~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,---,,,,,,,,,,,------,,,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,~~~~~~~~~~~~~~~%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,~~~~~~~~~,,,,-------~~~~~..%%%%%,,,,,,,,,,.%.%%%.%,,,,,,,,,,,,%%%..............................~~~~~~~~~,......%%%....,,...%......................~~~~~~~..~~~~~~~~~~~~~~~~~~~~~~...............................,............................%-.............................~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,~~~~~~~~~~~~~~.%%%%%%%~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.,,,,,,,~~~~~~~,,,,,------~~~~~~~.%%%%%%,,,,,,,,,,,%%%%%%.,,,,,,,,,,,%%%...............................~~~~~~~~~~.......%%%%%%%.,,,%......................~~~~~~.............~~~~~~~~~~~............................................................................................~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,~~~~~~~~~~~~~~..%%%%%%.~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,.,,,,~~~~~~~~~,,,,-----~~~~~~~~.%%%%%.,,,,,,,,,,,.%%%%%.,,,,,,,,,,%%%........................,.......~~~~~~~~~~.........%%%%%,,,,%......................~~~~~..............~~~~~...~~..................,,.,.......................................................................~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~%.%%%.%~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~,.,,,,,,~,~~~~~~,,,,-----~~~~~oo~%%%%%%%,,,,,,,,,,.%%%%%%.,,,,,,,,,,%%%..........................,....~~~~~~~~~~~.........%%%%.,,,,,...............~~~....~~~................~~~.....~~~.........................................................................................~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~%%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,.,,.,,,,,,,~~~~,,,,-----~o~~~~~~...%%%%%,,,,,,,,,,.%%%%%...,,,,,,,,%%%%%%,,...................,........~~~~~~~~~~~~......%%%%%%,,,,,..............~~~~~~~~~~.........................~~~~~~~~...........................................................,.........................~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~.~.~..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%%.,,,,,,,,,,,,,---~~~~~~~~~...%..%%,,,,,,,,,,,%%%.%%%,,,,,,,,%%%%%%%,,,,..........................~~~~~~~~~~~~~----%%%%%%%,,,,,,............~~~~~~~~~~~.........................~~~~~~~~.....................................................................................~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~,,%.%%%.%.,,,,,,,,,,,,,--~~~~~~~~~~~~.~,,.,,,,,,,,,,,,,,,..,,,,,,,,,,%%%%%%%,,,,..........................~~~~~~~~~~~~~----%%%%%%%.,,,,,,..%........~~~~~~~~~~~.........................~~~~~~~~~...-...,............................................................................~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,..%%%%%%.,,,,,,,,......-~~~~o~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,~~..........................~~~~~~~~..~~~~----%%%..%..~..,,~~~~~~.....~~~~~~~~~~~~~.......................~~~~~~~~~~.......,..,...............................................,......~.....~~......~....~~-,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...~~~~~~,...%%%%%%.,,,,,,.%%....%-~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%~~%..........................~~~~~~.....~~~------,,,%%..%%....~~~~~....~~%%%%%~~~~.........................~~~~~~~~~~..............................................................%,~~~~~~~~~~....~~~~.~~~~,,,,,,,,,,,ii,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~.%%.%%%.~~~~,,,.%%%%%%.,,,,,,,,%%%%%%..~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%~~%.......................~~~~~~~~~......~~-----,,,.%.%%%.%...~~~~~~~~~~%%%%%%%~...........................~~~~~~~~~~..................................................%%%.........%,,~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%.%%%.%~~~~,,,,.%%%%%.%,,,,,,,,%%%%%%.-~~~~~~~~~~~o~~o,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,%%%%%~~~%%.....................~~~~~~~~~~.....~~~~----,,,.%%%%%%.....~~~~~~~~~%%%%%%%.............................~~~~~~~~~.......,.........................................%%%%%........%,,~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,i,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%.~~,,,,,,.%%%%%%,,,,,,,..%%%%%%.-~~~~~~~~~~~~~~~-,,,,,,,,,***,,,,,,,,,,,,,,,,,,~o~~~~~%%%.....,,............~~~~~~~~~~..~~~~~~~----,--.%%%%%%.....~~~~~~~~~%%%%%%..............................~~~~~~~~~.......,......................,,,.,...........................,,,~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%.,,,,,,,,...,.,.,,,,,,,,%%%%%%%.-~~~~~~~~~~~~~~--,,,,,,,,,***,,,,,,,,,,,,,,,,,~~~,~~~~~~,,..,,,,.......,,..~~~~~~~~~~~~~~~~~~~o~~------.%%%%%%.~~~~~~~~~~~~%%%.................................~~~~~~~~~~.......,......................,.....%.......................,,i,,~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,-------*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%%,,,,,,,,,,,,,,,,,,,,,,,.%.%%%.%--~~~~~~~~~~~~~~---,,,,,,,,,**,,,,,,,,,,,,,,.,...~~~~~~~~,,,,,,,.......,,,,,~~~~~~~~~~~~~~~~~~~~~~~-~~~~%.%%%.%.~~~~~~~~~~~.%%%................................~~~~~~~~~~~~...................................%........................,,,,,,~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,.%%%%%.%.,,,,,,,,,,,,,,,,,,,,,,.%%%%.%%--~~~~~~~~~~~~~~--..,,..,,,,,,**,,,,,,,,,,.%%..%%~~~~~~~~,,,,,,.....,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%.%.%.~~~~~~~~~~~~..%%...............................~~~~~~~~~~~~~..~~-.............................,%........................,,,i,,,~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,%%..%%%,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,--~~~~~~~~~~~~-......%%.,,,,,***.,...,,,.%%%%%%%.-~~~~~~,,,,,,....,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~.~~~~~~~~~~~~~~.....,...............................~~~~~~~~~~~~~~~~.......................................................,,,,,,,~~~~~~~~~~~~~~~~~~,-,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,i,,,,,,,------,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,.%%%.%%,,---~~~~~~~~~~~-.%%%%%...,,,,,,%%..%%%,,,.%%%%%%..~~~~~~~~,,,,,,.,,,..,.,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.......................................~..~~~~~~~~~~~~.........................,.............................,,,,,,,~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,,,i,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..%%%.%.,,--~~~~~~~~~~,,..%%%%%..,,,,,.%.%%%%%.,,..%%%%%%-o~~~~~~~,,,,,,,,,%%%.%%%---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~........,..................................~~~~~~~~~~~.........................,...,,.................,,..,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~---,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,i,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%.,,,,-,~~~~o~,,,,,.%%%%%%.,,,,,,%%%%%%%,,,.%%%%%%%.~~~~~~~~,,,,,,,,.%.%%%.%---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..........................................~~~~~~~~~~~~........................................,,..,,,,...,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~----,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~,,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%..,,,,,,,,,,,,,,,,,%%%%%%%.,,,,,,%%%%%%..,,,%.%%%%%~~~~~~~~~~,,,,,,,.%%%%%%%----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,...,......................................~~~~~~~~~~~..........................................,.,.,..,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~,,,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..%%%%%%,,,,,,,,,,,,,,,,,.%.%%%%%,,,,,,,%%%%%%%.,,,%%%..%%~~~~~~~~~,,,,,,,,,.%%%%%%----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,...........................................~~~~~~~~~~.......................................,.,......,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,-------------,i,,,,,,,,,,,,,,,,,,,i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~,,,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%.%%%%%.,,,,,,,,,,,,,,,,,.%%.%%.,,,,,,,%%%%%%%,,,,,,.-o~~~~~~~~~~~,,,,,,,,.%%%%%%.----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,..,........................................~~~~~~~~~...................................,.....,..,.,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,i,,,,,,,-----,,,-------------,,,,,,,,,,,,,,,,,,-,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.%%.%%.%.,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,%%.%%%%.,,,,,--~~~~~~~~....,..,,,,,...%%%%%.----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,...,........................................~~~~~~~~~....................................,..,.,..,.,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,-,,,,,,,--,--,,,-------------,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%.,.,...,,,,,,,,,,,,,,,,,..%%%%%%,,,,,,,,.,,.,,,,,,,~~~~~~~~~~.%%.%%.%.,,,,..%%%%%%.,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,.,..........................................~~~~~~~~....................................,..,,...,.,.,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,----~~~~~~~~~-,,--------------,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%.%%%.%.,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%..,,,,,,,,,,,,,,,,,,,,-~~~~~~~~%.%%%%%.,,,,,,,.,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,...........................................~~~~~~~~~.......................................,..,,,..,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~-----------------,,,,,,,,,**---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%.,,,,,,,,,,,,,,,,,,,,,,-~~~~~~.%%%%%%%,,,,,,,,,,,,*,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~,,,............................................~~~~~~~~..........................................,.,.,..,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~--------------,,,,,,,,,***---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,..%%%.%,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~%%%%%%%,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,..,........................................~~~~~~~~................................................,,,,-,,,,,~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~------------,,,,,,,,****--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%%.,~~~~~~~,,,,,,,,,,,,,,,,%%.%.%.,,,,,,,,,,,...,,,,,,,,,~~~~~~~%%%%%%%,,,,****,****.,,,.,~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~-,...,,.........................................~~~~~~...............................................,..-------,,~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,---***,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%.%%%.%.~~~~~~~~~~,,,,,,,,,,,,,,.,,,...,,,,,,,,,.%%%%.%.,,,,,,,,,~~~~%.%%%.%.,,*****,*,%%%.%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o-..,,,.........................................~~~~~~~.............................................,...--,-----~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~-----------,------**---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%.%%%~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%%,,,,,..,,,,,.%%.%.%%,,******,,.%.%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~-,,,,.........................................~~~~~~~~............................................,...-.------~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,.,..~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%%%%..%.%%......,,,.,,,,,,***$**,,..%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~o~,,,.....,,......................,............~~~~~~~~................................................---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~,,,,,,,,.,,.,,,,,,,,,,,~~~~,,.%%%%%%.,..%%%%%.%.%.%%,,,,,,,,,**,,,,,%%%%%%..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oo~~~~~~,,,..,,,.....................-,...........%~~~~~~~~...............................................---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,*,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,~~~~~,,,,~~~~~~~~~~~~~~~~,,,,,,.%.%%%.,,,,,,,,,,,,,,,,,%%%%%%.,,%%%%%%%%%%%.%.,,,,,,,,,,,,,,,.%%%%%%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~,,,,,,,,,............~......~~,............~~~~~~~~~~~~...................................,.......-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,**,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,~~~~~~,,,~~~~~~~~~~~~~~~~,,,,,,%%%%%%%.,,,,,,,,,,,,,,,.%.%%%.%.,.%%%%%%%%%%%..,,,,,,,,,,,,,,,%.%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~....~~,,,,,,,,......~~~~~~~~.....~~-............~~~~~~~~~~~~~..........................................-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,**,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,~~~~~~~,,,~~~~~~~~~~~~~~~,,,,,,,%%%%%%%.,,,,,,,,,,,,,,,,%%.%%%.,.%%%%%%.%%%%%.,,,,,,,,,,,,,,,..%..%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%.%%.,,,,,,,,......o~~~~~~~~.....~~-..,........,~~~~~~~~~~~~..........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~,~o~~~~~~~~~,~~~~~~~~~~~~~~~,,,,,,,%%%%%%.,,,,,,,,,,,,,,,,,,,,..,,,.%%%%%.%%%%%%.,,,,,,,,,,,,,.,,,.,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~.%.%%%...,,,,,,,,....~~~~~~~~~~~...~~~~,,,,.............~~~~~~~........................................,..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,.,.,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~o~~~~~~~~~~,,,~~~~~~~~~~~~~~~~~,,,,,.%%%%%.,,,,,,..,,.,,,,,,,,,,,,,,,,..%%%%%%%%.%.,,,,,,,,%%.%%%.,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,,,,...~~~~~~~~~~~~~~~~~~~,,,,............~~~~~~~~........................................,,..~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,.,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~,.%.%%%%%.,,,,%%%%%%.,,,,,,,,,,,,,,,.,..,,%..%%%,,,,,,,,.%%%%%.%.,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%%,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~,,,,.............~~~~~~~.............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~.%%%.%%.,,,..%%%%%%,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,.%%%%%%%.,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o.%%%%%%.,,,,...,,,,~~~~~~~~~~~~~~~~~~~,,,,............~~~~~~~~............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,...,,,,.%%%%%%..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%%%%.%%%,,,~~~~~~~~~~~~~~~~~~~,,................~~~~~~~~...........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,.,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,.%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..%%%%%%,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%.%%%.%.%%%%%.,,,~~~~~~~~~~~~~~~~~~..................~~~~~~~~............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,.%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...%%%.%.---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~..-%%%%%%%.,,,~~~~~~~~~~~~~~~~~~,..................~~~~~~~............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,.,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%%.,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,%.%%.%..---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---.%%%%%%,,,..~~~~~~~~~~~~~~~~~,,.................~~~~~~~............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,.,,,.,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~-,,,,,..,,,~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%.%%,,,,,,,,,%%%%,~~,,,,,,,,,,,,,,,,,,,,,.,.,,,----~~~~~~~~o~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%%.%%.%.%%~~~~~~~~~~~~~~~,,,...............~~~~~~~................................................~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~-,,%%%%.%.,~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,....,,,,,,,,,,,,%%%%%~%%%%%%%%%,,,,,,,,,,,,,,,,,,,,---~~~~~~~~o~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%%%%%%%%%%%%.%~~~~~~~~~~~..~.,,.............~~~~~~~~~~................................................~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,.,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,...%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%,,,,,,,,,%%%%%~%%%%%%%%%%%%%%,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~o~~~--.%.%.%.%%%%%%..~o~~~~~~~..................~~~~~~~~~~~~................................................~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,,.%%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%,,,,,,,,,%%%%%,%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%---~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~o~~~~~~~~---.-..,.%%%%%%.~~~~~~~~~.%.%%............%%~~~~~~~~~~~~~...............................................~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~,,------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,..%%%%%%,~o~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%%,,,,,,,%%%%%,%%%%%%%%%%%%%%,,,,,,,,%%%%%%%%,,-~o~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,.%%%%%%.,~~~~~~~.%%%%............%%~~~~~~~~~~~~~~...............................................~~~~~~~~~~~~~~~~~~~~~~~,,,,-,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~,,,,-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,,.%%%%%.~~~~~~o~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%%%,,,,,,%%%%%,,%%%%%%%%%%%%%,,,,,,,,%%%%%%%%,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~------,,,,%%%%%%%,,,,~~~~~~.%%%%%...........%~~~~~~~~~~~~~~...............................................~~~~~~~~~~~~~~~~~~~~~~,,-------,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~,,,,,,-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,.%%%%%.%.~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,%%%%%%%%,,,,,,%%%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%%%%%,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,..%.%..%,,,,,,,,,,%%%%%%.,.........%~~~~~~~~~~~~~.................................................~~~~~~~~~~~~~~~~~~~~,,---------,,,,,,,,,,,,,,,,----------~~~~~~~~~~~---,,,,,,--------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,,%%%%.%%.~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%%%%%%%%,,,,,,,,,,%%%%%%%%,,,--~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,.,,.,.,,,,,,,,,.%%%%%.%...........~~~~~~~~~~~~~.................................................~~~~~~~~~~~~~~~~~~~~,-,---------,,,,,,,,,,,,,,,------------------------,,,,,,,----,-----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,,,,,..-~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,%%%%,,,,,,%%%%%%%%%%%%%%%%%%,,,,,%%%%,,%%%%,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-,,,,,,,,,,,,,,,,,,,,,,,,,,.%%%.%%,,.........~~~~~~~~~~~~..................................................~~~~~~~~~~~~~~~~~~-,,-----------,,,,,,,,,,,,,,,,------------------------,,,,,,--,,,,----,--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,,,,,,,-~~~~~~~~~~~~~o~~~~~~~~~~~~~,%%%%,,,,,,,,,,,,,%%%%%,,,,%%%%%%%%%%%%%%,,,,,%%%%%,,,,,,,,,,%%%%%-~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~o~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,.~~~..........~~~~~~~~~~~......................................................~~~~~~~~~~~~~~,,,----~~-----,,,,,,,,,,,,,,,,----*-**---------------,,,,,,,,,,,,,,--,,,---------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,,,,,,~~~~~~~~~~~o~~~~~~~~~~~~~~~~~,%%%%%,,,,,,,,,,,,%%%%%,,,,,%%%%%%%,%%%%,,,,,,%%%%%,,,,,,,,,,%%%%%-,~~~~~~.....~~~~~~~~~o~~~~~~~~~~~~~~~~....,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,~~~~~........~~~~~~~~~~~~......................................................~~~~~~~~~~~~~~~,----~~~~-----,,,,,,,,,,,,,,,,,-*^^^^-**------------,,,,,,,,,,,,,,,,,,,,----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%,,,%%%%,,,,,%%%%%,,,,,%%%%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,~~~.%%%..%%~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%%.,,,,,,,,,,,,..,.,.,,,,%%.%%%.,~~~~~~~.......~~~~~~~~~~~~.......................%..............................~~~~...~~~~~~~~,,---~~~~----,,,,,,,,,,,,,,,,,,,*^^^^^^^^,----------,,,,,,,,,,,i,,,,,,,,------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~,-,,,,~~~~~~~~~~o~~~~~~~~~~~~~~~~~~,,%%%%%,,%%%%%%%,,,%%%%%,,,,,,%%%%%%%%%,,,,,,,,,%%%,,,,i,,,,,,%%%%%,,,,~~~.%%%%.%~~~~~~~~~~~~~~~~~~~~~~~..%%%%..,,,,,,,,,,,,,%%%.%.%,,.%.%%%.%.~~~~~~~~..~~~~~~~~~~~~~~~-.......................%.....................................~~~~~~~~,,---~~~~----,,,,,,,,,,,,,,,,,,*,^^^^^^^^-----------,,,,,,,,,,,,,,,,,,,,-------------------~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%%%%%%%%%%,,%%%%%,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~%%%%%%.~~~~~~~~~~~~~~~~o~~~~~~~.%%%%%%.~,,,,,,,,,,.%.%%%%.,,.%%%%%%..~~~~~~~~~~~~~~~~~~~~~~~~----.....................%.....................................~~~~~~~~,,--~~~~~~---,,,,,,,,,,,,,,,,,,,^^^^^^^^^-----------,,,,,,,,,,,,,,,,,,,,,----------------~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%%%%%%%%%,,,,,,%%%%%,,,,%%%%%,,,%%%%%,,,,,,,,,i,,,,,,,,,,,,,,,~.%%%%%%..~o~~~~~~~~~~~~o~~~~~~~~.%%%%%%.~~~,,,,,,,,.%%%%%%.,,,%%%%%%%~~~~~~~~~~~~~~~~~~~~~~~~,---............................................................~~~~~~~~,,,-~~~~~~~-,,,,,,,,,,,,,,,,,,,,*^^^^^^^------------,,,,,,,,i,,,,i,,,,,,,---------------~~~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%%%%%%%%%%,,,,,,%%%%%,,,,%%%%%,,,%%%%%,,,~,,,,,,,,,,,,,,,,,,,,,,.%%%%%%..~~~~~~~~~~~~~~~~~~~~~~~%%%%%%..~~~,,,,,,,,.%%%%%%.,,..%%%%%%~~~~~~~~~~~~~~~~~~~~~~,,,,,,............................................................~~~~~~~~~,,,~~~~~~~-,,,,,,,,,,,,,,,,,**^^^^^*-**------------,,,,,,,,,,,,,,,,,,,,,---------------~~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%%%%%%%%%%%%,,,%%%%%%%%,,,,%%%%%,,,%%%%%,,%%%,,,,,,,%%%%%,,,,,,,,,,%.%%%.%.~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%~~~~~,,,,,,,..%%%%%..,,..%%%.%.~~~~~~~~~~~~~~~~~~~~,,,..,,............................................................~~~~~~~~~,,--~~~~~~--,,,,,,,,,,,,,,,,*^^^^*-,,*,-------,,,,-,,,,,,,,,,i,,---,,,,,---------------~~~~~~~--------,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%%%%%%%%%%%%%,,,%%%%%%%%,,,,,,,,,,,,%%%%%,%%%%%,,,,,,%%%%%,,.,..,,,.%%...%%~~~~~~~~~~~~~~~~~~~~~~~~.%%..%%.~~~~,,,,,,,.%.%%%.%.,,%%.%%%%~~~~~~~~~~~~~~~~~~~~,,,.............,..,................................................~~~~~~~~~,,---~~~~~~--,,,,,,,,,,,,,,,*^^^^^,,,,,,,,----,,,,,,,,,,,,,,,,,,----,,,,---------------~~~~~~~~~-------,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,%%%%%,%%%%,,,%%%%%%%%,,,,,,,,,,,,%%%%,,%%%%%,,,i,,%%%%%%%.%%%%,,,.~~..~~~~~~~~~~~~~~~~~~~~~~~~~~~~...~~~~~~~,,,,,,,.%%%%.%%,,,,,,~.~~~~~~~~~~~~~~%%%%%,,,,,%%................................................................~~~~~~~~~,,---~~~~~~~,,,,,,,,,,,,,,,,**^^^,,,,,,,,,,---,,,,,,,,,,,,,,,,,------------------------~~~~~~~~~------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~---,~~~~o~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,%%%%,%%%%,,,%%%%%%,,,,,,,,%%%%,,%%%%%,%%%%%,,,,,,%%%%%%.%%%.%.,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,..,,,,,,,,,~~~~~~~~~~~~~~-%%%%%%%,,,%%%................................................................~~~~~~~~~,----~~~-~~~,,,,,,,,,,,,,,,,,****^,,,,,,,,,,,,,,,,,,,,,,,,,,,,i-------------------------~~~~~~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~--..--,,,~~~o~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,%%%%%,,,%%%%%%,,,,,,,%%%%%,,%%%%%%%%%%,,,,,,,%%%%%.%%%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~--...%..%%%,..%%%..............,.,.................................................~~~~~~~,,----~--~~,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------~~~~~~-----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~------,,~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%,,,,%%%%%,,,,,,,%%%%%,,%%%%%%%%%,,%%%%%,,,,,,.%%%%%%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~--..................................,...............................................~~~~~~,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------~~-~~-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~,-----,,,~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,%%%%,,,,%%%%%i,,,%%%%%,,%%%%,%%%%%,,%%%%%%%%%,,%%%%%,,,,,,%%%%%%%.,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~..................................,.................................................~~~~~~,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------.----~-----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~,,,,-,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,%%%%%,,,,,%%%%,i,,%%%%%,,%%%%%%%%%%,,,%%%%%%%%,,%%%%%,,,,,,.%%%%.%,,,,~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~.~~.,,,,,,,,,,,,,,,,,,~~~o~~~~~~~~~-...........................................................i.......................~~~~~~-,,-----..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------.----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,%%%%,,%%%%%%%%,,.%.%%...,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%%%%%,,,,,,,,,,,,,,,~~~~~~~~~~~~-,.............................................................,,....................~~~~.~,,...,.,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,----------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~,,,,,,,,~~~~~~~~~~o~~~~~~~~~~~~~~~~----,,,,-~~~~~~~~~~~%%%%%,,,,,,,,,i,,,i,,,,,,%%%%%,,--------,,,,,,,,,%%%%%%%,,,.,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%.%,,,,,,,,,,,,,,,~~~~~~o~~~~~~,...........................................................i,.i,.,..................~..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~,,,,,,,,~~~~~~~~o~~~~~~~~~~~~~~~~~-----,,,--~~~~~~~~~~~~%%%%,,,,,,,,,,%%%%,,,,,,,%%%%,------------,,,,,%%%%%%%%%%%%%,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%%,,,,,,,,,,,,,,,~~~~~~~~~~~~~,.........................................................i.........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,~~~~~,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~------,,,---~~~~~~~~~~~%%%%%,,,,,,,,,%%%%%,%%%,,,,,,--~~~~~~~~~---,,,,%%%%%%%%%%%%%,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,,,,,,,,,-~~~~~~~~~~~~~,,...,..........................................................i..................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,~~~~,,,,,,,~~o~o~~~o~~~~~~~~~~~~~~~------,,,,---~~~~~~~~~~~%%%%%,,,,,,%%%%%%%%%%%%%,,,,--~~~~~~~~~~~--,,,%%%%%%%%%%%%%%,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..%%%%%%.,,,,,,,,,,,,,,~~~~~~~~~~~~~~,,,,,......................................................i.,,..................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~,,,~~~~o~~~~~~~~~~~~~~~~~~~~~,,-,,,,,,-----~~~~~~~~~~%%%%%,,,,,,%%%%%%%%%%%%%,,,,--~~~~~~~~~~~----%%%%%%%,,,%%%%%,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%.%.,,,..,,.,,,,,,~~~~~~~~~~~~~~,,,,,......................................................,.....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,-----~~~~~~~~~%%%%%,,,,,,%%%%%%%%%%%%%,,---~~~~~~~~~~~~~---%%%%%%%,,,%%%%%,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.%%.%%%%.,,.%%..%%,,,,,~~~~~~~~~~~~~~,,,,,...............................................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~o~~~o~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,----~~~~~~~~%%%%,,,,,,,%%%%%%%%,%%%%,---~~~~~~~~~~~~~~~~-%%%%%,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~...,,,,,.%.%%%%%,,,,-~~~~~o~~~~~~~~,,,.................................................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~,,,,,,,,,,,,,----~~~~~~~~~,,,,,,,,,%%%%%%%%,,,,,,--~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,%%%%%%%.,,,,~~~~~~~~~~~~~~,,,,.................................................................................i........,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%,,,,,,,,,,,,,,---~~~~~~~~,,,,,,,,,,,,%%%%%,,,,,--~~~~~~~~~~~~~~~~~~~-%%%,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,%%%%%%.,,,,,~~~~~~~~~~~~~~,,,.........................................,,.......................................i........,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,,,,,,~~~~~~~%%%%%,,,,,,,%%%%,,,,,--~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,.%%%%%%,,,,,,~~oo~~~~~~~~~~,..................................................................................,......i...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~,,,,,~~~~~~~~~~~~~~~~~%%%%%%%%%%,,,,,,,,,,,,,,,~~~~~%%%%%,,,,,,,,,,,,,,,,~~~~~~~~---,,~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,%.%%%.%.,,,,,~~~~~~~~~~~~~~,,........,,..........................................................................i.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------------------,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~,,,,--~~~~~~~~~~~~~~~~%%%%%%%%%%,,,,,,,,,,,,,,,,~~~~%%%%%,,,,,,%%%%%,,,,~~~~~~~~----,%%%%%~~~~~~~~,-,,,,,,,,,,,%%%%%,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,.%%.%%%%,,,,,,~~~~~~~~~~~~~~,,,......................................................................................ii...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~,,,,,-~~~~~~~~~~~~~~~~%%%%,%%%%%,,,,,,,,,,,,,,,,,,~~%%%%%,,,,,,%%%%%,,--~~~~~~~~---,,%%%%%~~~~~~~~~----,,,,,,,,%%%%%,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,.,.,,,,,,~..~~~~~~~~~~~,,,.............,........................................................................i.i.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~,,,,-~~~~~~~~~~~~~~~~~,,,,%%%%%,,,,,,,,%%%%%,,,,,,,%%%%,,,,,,,%%%%%,,-~~~~~~~~%%%%,,%%%%%~~~~~~~~~-----,,,,,,,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,.%%...%.~~~~~~~~~,........,................................................................................i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~...,.~~~~o~~~~~~~~~~~~,,,%%%%%,,,,,,,%%%%%%%,,,,,,,~~~-,-,,,,%%%%%,--~~~~~~~%%%%%,,%%%%%,~~~~~~~~-----,,,,,,,%%%%%,,~~~~~~~~~~~~~~~%%%~~~~~~~~~~~~~~~~~~~~~o~~~,,,,,,,,,,,,,,,,,,,,%.%%%.%~~~~~~~~~,...........,...........................................................................i,.i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~%%.%%.--~~~~~~~~~~~~~~~%%%%,,,,,,,,,,%%%%%%%%,,,,,,,~~~~~~-,,,%%%%%,,~~~~~~~~%%%%%,,%%%%,,,~~~~~~~~----,,,,,,,,%%%%,~~~~~~~~~~~---~%%%%%,~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,..,.,,,,,,,..%%%%%.~~~~~~~~~,,.........,...........................................................................i.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~.%%%%%.%--~~~~~~~~~~~~~%%%%%,%%%%,,,,,%%%%%%%%,,,,,,---~~~~--,,----,~~~~~~~~~~%%%%%,,,,,%%%%%~~~~~~~-----,,,,%%%%,,,~~~~~~~~~~~%%%,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~,,,,,.%%.%.%.,,,,,,,%%%%%%..~~~~~~~~~,......................................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~%%%%%%%.-,~~~~~~~~~~~~%%%%%,%%%%%%%%,%%%%%%%%,,,,,,----~~~~~-~~~~~~~~~~~~~~~~%%%%,,,,,,%%%%%-~~~~~~~~--,,,,,%%%%%,~~~~~~~~~~-%%%%%,%%%%%,,~~~~~~~~~~~~~~~~~~~~~~,,,,,,%.%%%%%.,,,,,.%%%%%....~~~~~~~~~......................................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------,-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~..%%%%%%,,,,,~~~~~~~~~~%%%%%,%%%%%%%%%,%%%,%%%%,,,,,----~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,,%%%%%,-~~~~~~~~-,,,,,%%%%%~~~~~~~~~,-,%%%%%%%%%%%,,,~~~~~~~~~~~~~~~~~~~o~,,,,,,%%%%%%%,,,,,,.%........~~~~~~~~..........................................................................,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------~~~------------------------------,,~~~~~~~~~~~~~~-,,,,,,,-,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~.%%%%%%%,,,,,,~~~~~~~~~~%%%,,%%%%%%%%%%%%%%%%%%,,,,,,---~~~~~~~~~~~~~~~~~~~~~~%%%%%,,,,%%%%%%,,,~~~~~~~~,,,,,%%%%%~~~~~~~~~-,,%%%%%%%%%%%%,,,~~~~~~~~~~~~~~~~~~~~,,,,,,%%%%%%..,,,,,,..........~~~~~~~~~............................................................................,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------.---------------~~~~~-----------------------------,,,--~~~~~~~~~,-----,,---,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~%.%%%%..,,,,,,~~~~~~~~~~,,,,%%%%%%%%%%%%%%%%%%,,,,,,,---~~~~~~~~~~~~~~~~~~~~~%%%%%,,,%%%%%%%,,-~~~~~~~~~,,,,,%%%%~~~~~~~~--%%%%%%%%%%%%%%,,,,~~~~~~~~~~~~~~~~~~~-,,,,,.%%%%%.,,,,,,,,....,...~~~~~~~~~~~.....................................................................,.....,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------~~~~~-----------------------------------~~~~~~~,,,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~.%%%.%.,,,,,,,~~~~~~~~~~~,,,,,,%%%%%%%%%%%%%%%%%%%,,,----~~~~~~~~~~~~~~~~~~~~%%%%%,,,%%%%%,,,%%%%%~~~~~~~~~~~~~~~~~~~~~----%%%%%%%%%%%%%%,,,,~~~~~~~~~~~~~~~~~~~--,,,.%.%%%.%.,,,,,,,.......~~~~~~~~~~~~.......~~...................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------~~~~~~~-----------------------,------------~~,,,,,,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~,,,,...,,,,,%%%%%~~~~~~~~~~,,,,,%%%%%%%%%%%%%%%%%%%,,,,----~~~~~~~~~~~~~~~~~~~%%%%%,,,%%%%%,,,%%%%%~~~~~~~~~~~~~~~~~~~~-----%%%%%%%%%%%%%,%%%%%~~~~~~~~~~~~~~~~~~--,,,.%%..%%%,,,,,,,,,.....,,~~~~~~~~~~~.......~~~............................................................,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------~~~~~~----------------,-----------------------,,,,--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~,,,,,,,,,,,%%%%%%%~~~~~~~~~%%%%%%%%%%%%%,,,,,,%%%%%%%,,,----~~~~~~~~~~~~~~~~~~%%%%%,,,,%%%%,,,%%%%%~~~~~~~~~~~~~~~~~~~~-----%%%%%,,,,,,,,,%%%%%~~~~~~~~~~~~~~~~~~---,,,,,,.,,,,,,,,,,,,....,,,,~~~~~~~~~~......~~~~..............................................................,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,---------------------------------------------------------------~~~~~---------------------------------------.------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,
~~~~~~~~~~,,,,,,,,,,,,%%%%%%%~~~~~~~~~%%%%%%%%%%%%%,,,,,,%%%%%%%,,,-,,--%%%~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,%%%%%~~~~~~~~~~~~~~~~~~~-----,%%%%,,,,%%%%,,%%%%%~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,.......,,~~~~~~~~~~~~~~~.~~~~............................................................,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,----------------------------------------------------------------~~~------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,
~~~~~~~~,,,,,,,,,,,,,,%%%%%%%~~~~~~~~~%%%%%%%%%%%%,,,,,,,,%%%%%%,,,,,,,%%%%%~~~~~~~~~~~--%%%%%,,,%%%%%,,,,%%%%,~~~~~~~~~~~~~~~~------,,,,,,,,,,%%%%%,%%%%%~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,.,...,.....~~~~~~~~~~~~~~~~~...................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------------------------------------------,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,
~~~~~~~,,,,,,,,,,,,,,,,%%%%%-~~~~~~~~~%%%%%%%,.,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,~~~~~~~~~---,%%%,,,,%%%%%,,,,,,,,,~~~~~~~~~~~~~~~------,,,,,,,,,,,%%%%%,%%%%%~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,...,..........~~~~~~~~~~~~~~......................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,
~~~~~~~,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~%%%%%%%,.,,%%%,,,,,,,%%%%%,,,,,%%%%%%%,,~~~~~~~---,,,%%%%%,%%%%%,,,,,,,,,,~~~~~~~~~~~~~~------,,,,,,,,,,,%%%%%,,,,,-~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,............,..~~~~~~~~~~~~~~...............................................................,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,
~~~~~~~,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~,%%%%%,,.%%%%%,,,,,,,%%%%,,,,%%%%%%%%,,-~~~~~----,,,%%%%%,%%%%%,,,,,,%%%%%-~~~~~~~~~~~-----,,,,,,,,,,,,,,%%%%,,,,,--~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,..,............~~~~~~~~~~~~~~~....~..........................................................,.,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,
~~~~~~~,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~,%%%%%,,,%%%%%%,,,,,%%%%%,,,,%%%%%%%%%,---------,,,,%%%%%%%%%%,,,,,%%%%%%%----,----------,,,,,,,,,,,,,,,,,,%%%%,,---~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,...............~~~~~~~~~~~~~~~~~~~~........................................................,...,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------,-------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,
~~~~~~~,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,%%%,,,,%%%%%%,,,,,%%%%%,,,,%%%%%%%%%,,-----%%%%,,,%%%%%%%%%%%%%,%%%%%%%%----,----------,,,,,,,,,,%%%%,,,%%%%%,,,---~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,%..............~~~~~~~~~~~~~~~~~~~~........................................................,...,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,
,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,,%%%%%%%%%%%%,%%%%%%%%,-,,,,-----%%%%,,,,,,,,,,%%%%%,,%%%%%,,,----~~~~~~~~~~~~~~~~~~,,,,,,,,,,,%%%%%..............~~,.~~~~~~~~~~~~~~~~.......................................................,,.,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,
,,,,,,,%%%%~~~~~~~~~~~~,,,,,,,,,,,%%%,,,,,,,%%%%%%%%%,,,%%%%%,,,,,,,%%%%%,,,,,%%%%%%%%%%,%%%%%%%%,%%%,,,----%%%%%,,,,,,,,,%%%%%,,%%%%%%%%%---~~~~~~~~~~~~~~~~~~,,,,,,,,,,%%%%%%.........................~~~~~~~~~~......................................................,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------
,,,,,,%%%%%~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,%%%%,,,,,,,,%%%%%,,,,,%%%%%%%%%%,,%%%%%,,%%%%%,,,,,,%%%%%,%%%%%,,,%%%%%%%%%%%%%%%%---~~~~~~~~~~~~~~~~~~,,...,,..,%%%%%%..........................~~~~~~~........................................................,,.,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------
,,,,,,%%%%%~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,%%%%,,,,,,%%%%,%%%%%,,,%%%,,,%%%%%,,,,,,%%%%%,%%%%%,%%%%%%%%%,,,,%%%%%,--~~~~~~~~~~~~~~~~~~,,%%.%.%.,%%%%%.,........................~~~~~~~.........................................................,,,..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,-------
,,,,,,%%%%%~~~~~~~~~~~~,,,,%%%%,,,,,,,,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,%%%%%%,,,,,,%%%,,%%%%%%%%%%%%%%%,,,,%%%%%,,,~~~~~~~~~~~~~~~~~~,,%.%%%.%,,%%%.................,,,......~~~~~~~~.........................................................,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--,-------
,,,,,,%%%%%~~~~~~~~~~~,,,,,%%%%%,,,,,%%%,,,,%%%%%,%%%%%%%%,,,,,,,,,,%%%%%%%%%,%%%%%,,,,,,,,,,,,,,%%%%%%,,,,,,,,,,,%%%%%%%%%%%%%%%%,,,%%%%%,,,~~~~~~~~~o~~~~~~~,,.%%%%%%%,,,,,..................,.......~~~~~~~~~........................................................,.,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------.-----------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------
,,,,,,,~~~~~~~~~~~~~~,,,,,,%%%%%,,,,%%%%%,,%%%%%%,%%%%%%%%,%%%%%,,,,%%%%%%%%%,%%%%%,,,,,,,,,,,,,,%%%%%%%%,,%%%%%,,,%%%%%%%%%%%%%%%,,,,,,,,,,,~~~~~~~~~~~~~~~o~,,,.%%%%%.,,,,...................,,.......~~~~~~~~.........................................................,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------
,,,,,,~~~~~~~~~~~~~~,,,,,,,%%%%%,,,,%%%%%,%%%%%,,,%%%%%%%%,%%%%%,,,,%%%%%%%%%,%%%%,,,,,,,,,,,,,,,,%%%%%%%%,%%%%%,,,,,,,,%%%%,%%%%%,,,,,,,,,,,~~~~~~~~~~~~~~~~~,,,%%%%%%..,,,...................,..,.....~~~~~~~~~........................................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------.----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----------
,,,,,~~~~~~~~~~~~~~,,,,,,,,,%%%%,,%%%%%%%,%%%%%,,,%%%%%%%%,%%%%%,,%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,,%%%%%%%%,%%%%%%%,,,,%%%%%,,%%%%%,,,,,,,,,-,~~~~~~~~~~~~~~~~~,,,..%%%.%,,,,,,..................,........~~~~~~~~~............................................,.,.,,...,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------.--------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-----------
,,,,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,%%%%%%%,%%%%%,,,%%%%%%%%%%%%%%,,%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,,,,,%%%%%,%%%%%%%%,,,%%%%%,,%%%%%,,,,,,----~~~~~~~~~~~~~~~~~,,,,.%%.%%%.,,,**~..........................~~~~~~~~~...........................................,,...,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------,-------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-----------
,,~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,%%%%%,,,%%%%,,,%%%%%,,,%%%%%%,,,%%%%%%%%%%%%,,,,%%%%%,,,,,%%%%%,,%%%%%%%,%%%%%%%%,,,%%%%%%%,,,,,,,,,,---~~~~~~~~~~~~~~~~~~,,,,,,..,,.,,,,,*%%%..............i,..,......~~~~~~~~..............................................,......,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-----------
,,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,%%%%%,,,,%%%%%%%%%%%%,,,,%%%%%,,,,,%%%%%,,%%%%%,,,,,,%%%%%,,,%%%%%%%,%%%%%,,,,--~~~~~~~~~~~~~~.~..~.,,,,,,,,,,,,,,,..%%.................i,,.....~~~~~~~............................................,,.,...,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,------------
,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%,,,%%%%%,,,,,%%%%%%%%%%%%%%%%%%%%,,,,,%%%%%,,%%%%%,,,,,,%%%%%,,,%%%%%%%,%%%%%,,,,-~~~~~~~~~~~~~~o%...%%.,,,,,,,,,,,,,,,%%...........i.i.,....,......~~~~..............................................,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------------
,~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,%%%%%,,,,%%%%,,%%%%%,%%%%%,,,,,,,,,%%%%%,,%%%%%,,,,,,,,,%%%%,%%%%%%%,%%%%%,,,~~~~~~~~~~~~~~~~.%.%%%.%.,,,,,,,,,,,,,..%...........,.,,,...........~~~~..........................................,,,.,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--------------
,~~~~~~~~~~~~~~,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,%%%%%,%%%%%,%%%%%,,,,,,,,,%%%%%,,%%%%%%,,,,,,,,%%%%%%%%%%%%,%%%%%,,~~~~~~~~~~~~~~~~~.%%%%%%%,,,,,,....,,,,,%%.................,........~~~~~~............................................,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------
~~~~~~~~~~~~~~,,,,,,,,,,%%%%%,,,,,%%%%,%%%%%,%%%%%,,,,,,,,,,,,,,,,%%%%%,%%%%%,%%%%%,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,%%%%%%%%%%,,,%%%%,,,~~~~~~~~~~~~~~,,,,.%%%%%.,,,.%%..%%,,,,,%%...........,..i.,..,......~~~~~~~~........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------
,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,%%%%%%%%%%,,,,,,,,,~~~~~~~~~~~~,,,,,,,.%%%%%%,,~%%%%%%%.,,,,.%%%..%.....,,..,,i,.........~~~~~~~~......................................,,.,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------,--------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------
,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,%%%%%,,,%%%%%%%%%%,,,,,,~~~~~~~~~~~~~~~,,,,,,,%.%%%%%,,,.%%%%%%,,,,,,,,.,,,,,...,,,,,,,,,,,.,~~~..~~~~~~~~~....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~------------------------------------------------------------------------------------------------------------~~-------,------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------
,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,%%%%%,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%~~~~~~~~~~~~~,,,,,~~~~~~~~~~~~~~~~,,,,,,,,%.%.%%,,,.%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~.....~~~~~~....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~-------------------------------------------------------------------------------------------------------~~~~~~-----------.------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------
,,,,,,,,,,,,,,%%%%%%%%%%%%,%%%%%,,,,,,,,,,,,,,%%%%%,%%%%%%,%%%%,%%%%%,,,,,%%%,,,,,,%%%%%,%%%%%~~~~~~~~~~~~~~,~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,..,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~.....~~~~~~....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~------------------------------------------------------------------------------------------------------~~~~~~~-----------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------
,,,,,,,,%%%%%,%%%%%%%%%%%%,%%%%%%%%,,,,,,,,,,,%%%%%,%%%%%%%%%%%%%%%%%,,,,%%%%%,,,,,%%%%%,,%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,,,,.%%%%%.%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....~~~~~~.....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~--,------------------------------------------------------,--------------------------------------------~~~~~~~~---------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------
,,,,,,,,%%%%%,,,%%%%%%%%%,,,,,%%%%%,,,,,,,,,,,%%%%%,,,%%%%%%%%%%%%%%%,,,,%%%%%,,,,,%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,%%.%.%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....~~~~~~~....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~-,,,------------------------------------------------------------------------------------------------~~~~~~~~----------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------
,,,,,,,,%%%%%,,,%%%%%%%,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%,,,,%%%%%,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,~~~~...,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....~~~~~~~~~...................................,,,,,,,,~,,,,,i,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~-,,,--------------,**-------------------------------------.-----------------------------------------~~~~~~~~-~-------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------
,,,,,,,,%%%%%,,,%%%%,,,,,,,%%%%%%%%,,,%%%%%,,,,,,,,,,,,%%%,%%%%,%%%%%,,,,,%%%%,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%,,%%%%,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....~~~~~~~~~...~................................,,,,,,~~~,i,,i,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~-,,,---------------*---------------------------------------------.----------------------------------~~~~~~~~~~~~-----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------
,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%,%%%%%,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.~~~~~~~~~..~~~.............................,..~~~~~~~~~,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~,,,-------------,--*--------------------------------------------------------------------------------~~~~~~~~~~~----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------
,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,,,,,,,%%%%%,,,,,,%%%%%%%%,,,,,,,,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%,%%%%%,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,~~~~~~~~~~~~~~...............................~~~~~~~~~~,,,,,,,,,,,,,,i,i,~~~~~~~~~~~~~~~~~~~~~,,----------------***-------------------------------------------------------------------------------~~~~---~------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------
,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,,,,,,,%%%%%,,%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%,%%%%%,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,~~~~~~~~~~~~................................,,-~~~~~~~,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~,,,------------*****-**---------,---------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------
,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%,,,,,,,%%%%%,%%%%%%%%%%,,,,,,,,,,,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-%%%%,,%%%%%%%%,,,~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~....~..........................,,,--~~~~~~~,,,,,,,,,,,,i,,,,,~~~~~~~~~~~~~~~~~~~~~~,,,,,,,------**---**---------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------
,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%,,,%%%%%,,,,,%%%%%,%%%%%%%%%%,,,,,,,,,,,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%,,,,,,,,%%%%%%---~~~~~~---,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,$,,,,,,,,,~~~~~~~~~...~~...........................,,,-..,,~~~,,,,,,,,i,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,--,,*,-**----------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------
,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%%,,%%%%%,,,,,%%%%%,%%%%%%%%%%,,,,,,,,,,,%%%%%,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%,,,,,,,%%%%%%--~~~~~~~----,,,,,,,,,.,..,,,~~~~,,,,,,,,,,,,,,,,,,,-~~~~~~~~~...~~.......................,....,....,,,~~,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,*,*-*----------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------
,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,%%%%%,,%%%%%,,,,,,,,,,,%%%%%%%%%%,,,,%%%%%,,,,,,,,%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,,%%%%%%--~~~~~~~-----,,,,,,,%%%.%%%,~~~~~,,,,,,,***,,,,,,,,,-~~~~~~~~~~~~~................................,,,,,i,,,,,i,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,*,,,*----*------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------
,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,%%%%%%,%%%%%,,,,,,,,,,,%%%%%%%%%%,,,,%%%%%,,,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%%,,,,,,,,%%%%,-~~~~~~~~-----,,,,,,,%%%%%%.,~~~~~,,,,,,,***,,,i,,,,,--~~~~~~~~~~~~...............................,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---------------
,,,,,,%%%%%%,,,,,%%%%%%,%%%%%,,,,,,%%%%,%%%%%%%%%%,,,,%%%%%%%%%,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%%%%,,,,,,,,,,%%%,-~~~~~~~~-----,,,,,,,%%%%%%%,~~~~~,,,,,,****,,,,,,,,,,,~~~~~~~~~~~~...............................,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,----------,------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---------------
,,,,,,%%%%%%,,,,,,%%%%%,,,,,,,,%%%%%%%%%%%%%%%%%%%,,,,%%%%%%%%%,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%,,,,,,,,,,,%%%%%,~~~~~~~~~-----,,,,,,%%%%%%..~~~~,,,,,,,****,,,,,,,,,,-~~~~~~~~~~~~............................,.,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------
,,,,,,,%%%%,,,,,,,%%%%%,,,,,,,,%%%%%%%%%%%%%%,,,,,,,,,,%%%%%%%%,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%,,,,%%%%%~~~~~~~~~~----,,,,,,.%%%%%%%,,,,,,,,,,,,***,,*,,,,,,,,,~~~~~~~~~~~~......................~~.......,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,-------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------
,,,,,,,,,,,,,,%%%%%%%%,,,%%%%,,%%%%%%%%%%%%%%,,,,,,,,,,,%%%%%%%,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%,,,,%%%%%~~~~~~~~~~----,,,,,,,%.%%%%%,,,,,,,,,,,,*******,,,,,,,,.~~~~~~~~~~~~............~~.......~~~......,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~i,,,,,,,,,------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------
,,,,,,,,,,,,,,%%%%%,,,,,%%%%%,,%%%%%%%%%,,,,%%%%%,,,,,,,%%%%%%,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%,,,,%%%%%~~~~~~~~~~----,,,,,,,%%%...%.,,,,~~~,,,,,**,****,,,,,,,,~~~~~~~~~~~~~~~~........~~~~~...~~~~......,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,----------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------
,,,,,,,,,,,,,,%%%%%,,,,,%%%%%,,%%%%%,,,,,,,,%%%%%,,,,,,,%%%%%,,,,,%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%,,,,%%%%%~~~~~~~~~~---,,,,,,,,,..,...,,,,,~~~~,,,,*******,,,,,,,.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.~~~~~~~.,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,-------------------------------------------------------.---------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------
,,,,,,,,,,,,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,,,,,%%%%%,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%,,,,,%%%~~o~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,*,,,,,,,,,,,,.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,--------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------
,,,,,,,,,,,,,,%%%%,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,,,,,%%%%,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,~~~o~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,i,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,-,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.-----------------
,,,,,,,,,%%%%%%%%%,,,,,,,%%%%%,,,,,,,,,,,,,,%%%%%%,,,,,,%%%%%%%%,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,%%%%,,,,,,,,~~~~~~~o~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,----,--,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------,-----------.----------------------------------------------------------------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------
,,,,,,,,%%%%%%%%%%,,,%%%%%%%%%,,,,,,,,,,,,,,%%%%%%,,,,,%%%%%%%%%,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,%%%%%,,,,,,,~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.------------------
,,,,,,,,%%%%%%%%%%,,,%%%%%%%%%%%%,,,,,,,,,,,%%%%%%,,,,,%%%%%%%%%,,,,,,,,,,~~~~~~~~~~~~~~~~~~,~~~~~~~~~~~~~,,,%%%%%,,,,,,,~~o~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,~~~~~~~~~~~~~~~~~,-,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------
,,,,,,,,%%%%%%%%%%,,,%%%%%%%%%%%%%,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%%,,,,,,,,~~~~~~~~~~~~~~~,,,,,~~~~~~~~~~~~~--%%%%%,,,,,,,~~~o~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~..~~~~%%%~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,~~~~~~~~~~~~~~~---,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------.-----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------
,,,,,,,,%%%%%%%%%%,,,%%%%%,%%%%%%%,,,,,,,,,,,%%%%%%,,,,%%%%%%%%%%%,,,,,,,,,~~~~~~~~~~~~,,,,,,,,,,~~~~~~~~~~---%%%,,,,,,,~o~~~~o~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-....-~%%.%%~~~~~~...~~~~~~~~~~~~~~--------,,,,,~~~~~~~~~~~~~~----,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------,-----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------
,,,,,,,,,,,,,,,,,,,,,%%%%,,%%%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,%%%%%,,,,,,,,,~~~~~~~~~~~%%%%%%%%%%%~~~~~~~~~~--%%%%%,,,,,,-~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............~~~~...~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~-----,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~,--------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------
,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%,%%%%%,,,,%%%%%,%%%%%,,,,,,,,,,,~~~~~~~~,%%%%%%%%%%%%~~~~~~~~~--%%%%%,,,,,,-~~~~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,...............~~~~~~~~~~~~~~~~~~~---~~~~~~~~~~~~~~~~~~-----,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------------------------------------------.---------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------
,,,,,,,,,,%%%%,%%%%,,,,,,,,,,%%%%%,,,,,,%%%%%,%%%%%,,,,%%%%%,%%%%%,,,,,,,,,,,,,,~,,,,,%%%%%%%%%%%%~~~~~~~~~--%%%%%,,,,,,--~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............-.......~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~-----,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------
,,,,,,,,,%%%%%,%%%%%,,,,,,,,,%%%%%,,,,,,%%%%%,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%~~~~~~~~~--%%%%%,,,,,---~o~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%,,........-.....~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~,,,,,-,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~,,---------------------------------------------------------------------------------------------,---------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------
,,,,,,,,,%%%%%,%%%%%,,,,,,,,,%%%%%,,,,,,%%%%%,%%%%%,,,%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%~~~~~~~~~-%%%%%%,,,,,,---~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%............----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~,,--------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------
,,,,,,,,,%%%%%,%%%%%,,,,,,,,,%%%%%,,,,,,%%%%%,%%%%%,,%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~%%%%%,,,,,,,----~-----.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%........%%..--,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------------------------------
,,,,,,,,,%%%%%,%%%%%,,,,,%%%%%%%%%,,,,,,%%%%%,,%%%%%,%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,~~~~~~~~~~~%%%%%,,,,,,,---.%%%..%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........%%,,,-,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------------------------------
,,,,,,,,,,,,,%%%%%,,,,,,%%%%%%%%%%,,,,,,%%%%%,,%%%%%,%%%%%%,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%%-~~~~~~~~~~~%%%%%,,,%%%,,--.%%%%%%%.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........%%,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------------------------------
,,,,,,,,,,,,,%%%%%,,%%%%%%%%%%%%%%,,,,,,%%%%%,,%%%%%,%%%%%%,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%%-~~~~~~~~~~~%%%%%%,%%%%%,,-..%%%%%..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........%%,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~,,------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------------------------------
,,,,,,,,,,,,,%%%%%,,%%%%%%%%%%%%%%,,,,,,%%%%%,,%%%%%,%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%-~~~~~~~~~~~,%%%%%,%%%%%,,,,.%%%%%.%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........%,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,--------------------------------
,,,,,,,,,,,,,%%%%%,,%%%%%%%%%%%%%%%%%%,,%%%%%,,%%%%,,%%%%%,,%%%%%,,%%%%%%%%,,,,,,,,,,,,,,,,%%%%--~~~~~~~~~~~,%%%%%%%%%%%,,,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,....,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~-,--------------------------------,-----------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~~~,,,--------------------------------
,,,,,,,,,,,,,,%%%%,.%%%%%%%%,,%%%,%%%%%,,,,,,,%%%%%,,%%%%%,,%%%%%,,%%%%%%%%%,,%%%%%%%%%,,,,,,,,--~~~~~~~~~~,,,%%%%%%%%%%,,,...%%%.%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~---------~~~~~~~~~~~~~~~~~~~~~~,,----------------------------------
,,,,,,,,,,,,,,,,,,,,.%%%%%%%,,,,,,%%%%%%%%%%,,%%%%%%%%%%%,,,,,,,,,,%%%%%%%%%,,%%%%%%%%%%,,,,,,--~~~~~~~~~~~,,,,,,,%%%%%,,,,.%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------------------------------------,----,,------------~~~~~~~~~~~~~~~~~~~~.,-----------------------------------
,,,,,,,,,,,,,,,,,,,,,,.%%%%%,,,,,,%%%%%%%%%%,,%%%%%%%%%,%%%%%,,,,,,%%%%%%%%%,,%%%%%%%%%%,,,,,--~~~~~~~~~~~~,,,,,,,%%%%%,,,,,,.,...%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------.----------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~,,,------------------------------------
,,,,,,,,,,,,,,.,,,,,,,.%%%%%,,,%%%%%%%%%%%%%,,%%%%%%%%%,%%%%%,,,,,,,%%%%%%%,,,%%%%%%%%%%,,,,,-~~~~~~~~~~~~~,,,,,,,,%%%%,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,-------,,,,,,,,,i,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,,,.,,,,,-------------------------------------
,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,,%%%%%,,,%%%%%,,%%%%%%%%%,%%%%%%%%%,~~~,%%%%,,,,%%%%%%%%%%,,,,,-~~~~~~~~~~~~~%%%%,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,i,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--------------------------------------------------------------------------------------------------------------------------------------------------------------,,,,,,----,,,--------------------------------------
,,,,,,,,,,,,,,,,,,,,,,,%%%%%%,,%%%%%,,,,%%%%,,,,,,%%%%,,%%%%%%%%%~~~~%%%%%,,,,,,,,,%%%,,,,,,,~~~~~~~~~~~~~~%%%%%,,,,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,-,,,,,,i,,i,,,,,,,,,,i,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------.------------------------------------------------,--------------------------------------------------------------------------------------
,,,,,,,,,,,,,,,,,,,,,,,%%%%%%,,%%%%%,,,,.,,,,,,,,,,,,,,,%%%%%%%%%%%%~%%%%%,,,,,,,,%%%%%,,,,,,~~~~~~~~~~~~~~%%%%%,,,,%%%,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
,,,,,,,,,,,,,,,,,,,,,,,%%%%%%,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%~%%%%%,,,,,,,,%%%%%,,,,,,~~~~~~~~~~~~~~%%%%%%%%%%%%%%,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------
,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,%%%%%%%%%~%%%%%,,,,,,,,%%%%%,,,,,,~~~~~~~~~~~~~~%%%%,%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%,,%%%%%%%%%~%%%%%,,%%%%%,%%%%%,,,,~~~~~~~~~~~~~~~--,,,,%%%%%%%%%%,,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%%%%,,%%%%%%%%%~%%%%%,,%%%%%,,,,,,,,,~~~~~~~~~~~~~~~----,,,%%%%%%%%%%,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%%%%%,,%%%%%,,,~~%%%%%%%%%%%%%%%,,,,,,~~~~~~~~~~~~~~---%%%%,,%%%%,%%%,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
,,,,,,,%%%%%%,,,,,,,,,,,,%%%%%%%%%%%%%%%%,,%%%%,,,,,,~,%%%%%%%%%%%%%,,,,,~~~~~~~~~~~~~~----%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,i,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
,,,,,,,,%%%%%,,,,,,,%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,,,,,,%%%%%%%%%%%%%,,,,~~~~~~~~~~~~~~~----%%%%%,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
,,,,,,,,%%%%%,,,,,,,%%%%%%%%%%%%%%%%,,,,,,,%%%%%,,,%%%%%%%%%%%%%%%%%,,,~~~~~~~~~~~~~~~-----%%%%%,,,,,,,,,,,,,,,,,,,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------------------------------.-----------------------------------------------------------------------------------------------------
,,,,,,,,%%%%%,,,,,,,%%%%%,,,,,,%%%%%%%%%%,,%%%%%,,%%%%%,%%%%%%%,%%%,,,~~~~~~~~~~~~~~,,,-,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------------------,------------------------------------------------------------------------------------------------------------------
,,,,,,,,%%%%%,,,,,,,%%%%%%%,,,,%%%%%%%%%%,,,%%%,,,%%%%%,%%%%%%%,,,,,,,~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------,,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
,,,,,,,,,,,,,,,,,,,,%%%%%%%%,,,,%%%%%%%%%,,,,,,,,,%%%%%,%%%%%,%%%%%,,~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,------------,,,,,-----,-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%%%%%,,%%%%,%%%%%%%,%%%%%,%%%%%,~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,------------,,,,,,,,,,,------,----------------------------------------------------------------------------------------------------------------------------------------------------------------------
,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%%%%,,,%%%%%%%%%%%%%%%%%%,%%%%%~~~~~~~~~~~~~%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,,,,~~~~,---------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------
,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,%%%%%%%%%%,,,%%%%%%%%%%%%%%%,,,,%%%%%~~~~~~~~~~~~,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,,,,,,~~~~~~~-----,--------------------------------------------------------,-,-------------------------------------------------------------------------------------------------------------
,,,,,,,,,,,,%%%%%%%%%%%%%%%,,,%%%%%%%%%%,,,%%%%%%%%%%%%%%%,,,,%%%%%~~~~~~~~~~~,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~---,--,,,,,,,,,,,,~~~~----,,-------------------------------------------------------------------------------------------------------------------~~~~~~~~~~------------------------------------------
,,,,,,,,,,,,%%%%%%%%%%%%%%%,,,%%%%%%%%%%,,,,%%%%%%%%%%%%%%%%%,,,,,,~~~~~~~~~~~,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~..------~~~~~~~~~~~~,,,,,,,,,,,,,,,,-~~~~~---,--------------------------------------------------------.-------------.-----------------------------------------~~~~~~~~~~~~~~~~~--------------------------------------
,,,,,,,,,,,,%%%%%%%%%%%%%%%,,,%%%%%,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,~~~~~~~~~,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~-.-----------~~~~~~~~~~~,,,,,,,,,,,-,,,,~~~~~--,--------------------------------------------------------,---,--------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~-----------------------------------
,,,,,,,,,,,,%%%%%%%%%%%%%%%,,,%%%%,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,~~~~~~~~,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~,,,-------------~~~~~~~~~,,,,,,,,-----,,,~~~~~--,------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------
,,,,,,,%%%%,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%,,,,,,~~~~~~~~,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~,,,,--------------~~~~~~~,,,,,,,,--------,,--~~-,----------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------
,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%,,,,~~~~~~~,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,~~~,,~~~,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~-,,,-----------------~~~,,,,,,,,,,---------,,,-~,,,-------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------
,,,,,,%%%%%%%%,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%,,%%%%%,,,,~~~~~~~,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~-,,,--------------------,,,,,,,,,,----------,,,~~,,,,--------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------
,,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,%%%%%,,%%%%%,,,,,~~~~~~,,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~----,----------------------,,,,---,-----------,--~~~~~~~~~--------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------
,,,,,,,%%%%%%%%,,,,%%%%%,,%%%%%,,%%%%%,,,,,,,,,,,,,%%%%%%%,%%%%,,,,,~~~~~,,,,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------,,,~~~~~~-------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------
,,,,,,,,,%%%%%%,,,,%%%%%,,%%%%%,,%%%%%,,,,,,,,,,,,,%%%%%%%%%%%%,,,,,~~~~~,,,,,,,i,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,-------------------------------------------------,,,~~~~~~-----------------,----------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------
,,,,,,,,,%%%%%,,%%%%%%%%,,%%%%%,,%%%%%,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,~~~,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,---------------------------------------------------,~~~~~~~-,-----------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------
,,,,,,,,,,%%%,,,%%%%%%%%,,%%%%%%%%,,,,,%%%%,,,,,,,,,,,%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,--,----------------------------------------------------,~~~~~~~~~~~~------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------
,,,,,,,,,,,,,,,,%%%%%%%,%%%%%%%%%%%,,,,%%%%%,,,,,,,%%%%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------,,,--~~~~~~~~-----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------
,,,,,,,,,,,,%%%%%%%%%,,,%%%%%%%%%%%,,,,%%%%%,%%%,,,%%%%%,,,,%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------,,,,---~~~~~~~------~--------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------
,,,,,,,,%%%,%%%%%%%%%,,,%%%%%%%%%%%,,,,%%%%%%%%%%,,%%%%%,,,%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,i,,,,,,,,,,,,,,,,,,,,,~~~~~~~-~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------,,,,---~~~~~~~~~-~~~~~~-----------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------
,,,,,,,%%%%%%%%%%,,,,,,,%%%%%,%%%%%%,,,,%%%%%%%%%,,%%%%%,,,%%%%%,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i~~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------,,------~~~~~~~~~~~~~~~~----------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------
,,,,,,,%%%%%%%%%%%%,,%%%%%%%,,,,%%%%%%%%%,,,%%%%%,,%%%%%,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------~~~~~~~~~~~~~~~---------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------
,,,,,,,%%%%%%%%%%%%,,%%%%%,,,,,,%%%%%%%%%,,,,%%%%,%%%%,,,,,%%%%%,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------.-----------------~~~~~~~~~~~~~--------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------
,,,,,,,%%%%,,,%%%%%,,%%%%%,,,%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,i,,,,,i,,,,,,,,,,,,,,,ii,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------,~~~~~~~~~~~~~----------------------------------,---------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------
,,,,,,,%%%%%,,%%%%%,,%%%%%,,,%%%%%%%%%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------~~~---~~-----------------------------~~~~~~~~~~~~~..----------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------
,,,,,,,%%%%%,,,%%%%,,,%%%%,,,%%%%%,,%%%%%,,,,,,,,%%%%%,,%%%%%,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------~~~~~~~~~----------------------------,~~~~~~~~~~~~~~.--------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,-----------------
,,,,,,,%%%%%,,,,,,,%%%%,,,,,,%%%%%,,,,,,,,,,,,,,,%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,i,i,i,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,-------------------------------------~~~~~~~~------------------------------,,~~~~~~~~~~~~~.-----------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------
,,,,,,%%%%%%,,,,,,%%%%%,,,,,,%%%%%,,%%%%%,,,%%%%,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,ii,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,------------------------------------------~--------------------------------,,,~~~~~~~~~~~~----------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------
,,,,,,%%%%%,,,,,,,%%%%%%%%%,,,,,,,,,%%%%%,,,%%%%%,,,,,,%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,,,,,,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,------------------------------------------------------------------------------~~~~~~~~~~~~~------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------
,,,,,,%%%%%,%%%,,,%%%%%%%%%,,,,,,,,,%%%%%,,,%%%%%,,,,,,%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,~~~~~,,,,,,,,,,,,,,,,,i,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,-------------------------------------------------------------------------------~~~~~~~~~~~~~--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------
,,,,,,%%%%%%%%%%,,%%%%%%%%%,,,,,,,,,%%%%%,,,%%%%%,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~-~~~~~~,,,,,i,,,,,,i,,,,,,i,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,-----------------------------------------------------------------------------------~~~~~~~~~~~~~~----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------
,,,,,,%%%%%%%%%%,,,,,,%%%%%,,,,,%%%%%%%%%,,,,%%%%,,,,,,%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~-,,,,,,,,,,,,,,,,,,,i,iii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,------------------------------------------------------------------------------------~~~~~~~~~~~~~~--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------
,,,,,,,,,,%%%%%%,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%%,,,%%%%%%%%%%%%%%,,,,,,,,,,,,,,,~~~~~-,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~-,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,,--------------------------------------------------------------------------------------~~~~~~~~~~~~------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------
,,,,,,,,,,%%%%%,,,,,,,%%%%%,,,,,%%%%%%%%%%%%%%%%,,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,,~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~--,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------.---------------------------------------------------------------~~~~~~~~~~~~----------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------
,,,,,,,,,,,%%%,,,,,,,,%%%%%%,,,,,%%%%%%%%%%%%%%%,,,%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,~~~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~-,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------~~~~~~~~~~~~~--------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------,,---------------
,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%%%%%%%%%,,,%%%%%%%%,,,%%%%,,,i,,,,,,,ii,,~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~--,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------------~~~~~~~~~~~~~~------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------,,~---------------
,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,%%%%%%%%%%%%%,,,,%%%%%%%%%%%%%%%,,,,,,,,,,,,,,~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,i,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,--------------------------------------------------------------------------------------------~~~~~~~~~~~~~~-----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,-------------~~~~~~~~~~-----------
,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,i,,,,,,,,,~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,~~~~,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,--------.-------------------------------------------------------------------------------------~~~~~~~~~~~~~-,,------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------------~~~~~~~~~~~--,,,------
,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%,,,,,,,,,,,,,,,,~~~~~~~~,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------,-------------------------------------------~~~~~~~~~~~~~-i------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~,,,,------
,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,%%%%,,,,,,,,,,%%%,,,,,,,,,%%%%%,%%%%,,,%%%%%,,,,,,,,-~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,------------------------------------------------------------------------------------------------------,~~~~~~~~~~~~,----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~~~~~~~~~~~~~~~,,,,------
,,,,,,,,%%%%%,%%%%,,%%%%%,,%%%%%,,,,,,,,,%%%%,,,,,,,,%%%%%,,,,,,,,-~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,----.-------------------------------------------------------------------------------------------------,~~~~~~~~~~~,---------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,------~~~~~~~~~~~~~~~~,,,,------
,,,,,,,,%%%%%%%%%%,,%%%%%,%%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,-~~~~~~~~~~--,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,---------------------------------------------------------------------------------------------------------~~~~~~~~~~,--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~~~~~~,,,------
,,,,,,,,,,,,,%%%%%,,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,--~~~~~~~~~--,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------.---,----------------------------------------,--------------------------------------~~~~~~~~~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-------
,,,,,,,,,,,,,%%%%%,,%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%%%,,,,,,,,--~~~~~~~~~--,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------
,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,%%%%%,,i,,,,,,,,,-~~~~~~~~~--,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,----
,,,,,,,,,,,,,%%%%%%%%,,%%%%,,,,,%%%%,,,,,,,,,,,,,,%%%%%,ii,,,,,,,,,,~~~~~~~~~--,,$$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,---
,,,,,,,,,%%%,%%%%%%%%,,,%%%,,,,,%%%%%,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,-~~~~~~~~~-,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------,,,~~~~~~~~~------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,---
,,,,,,,,%%%%%,%%%%%%%,,,%%%,,,,,%%%%%,,,,,,,,,,,,%%%%%i,,,,,,,,,,,,,~~~~~~~~~--,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------,--------------------------------------------,,,,~~~~~~~~,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,---
,,,,,,,,%%%%%,%%%%%%%,,,,%%,,,,,%%%%%,,,,,,,%%,,,%%%%%,,,,,,,,,,,,,,-~~~~~~~~-,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------,,,-~~~~~~~,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,---
,,,,,,,,%%%%%,%%%%%,,,,,,,,,%%%%%%%%,,,,,,%%%%,,,%%%%%%%,,,,,,,,,,,,,--~~~~~~--,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~-,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------,~~~~~~~,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---
,,,,,,,,%%%%%,%%%%%,,,,,,,,%%%%%,,,,,,,,,%%%%%%%,%%%%%%%%,,,,,,,,,,,,--~~~~~~--,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,.,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------,,~~~~~~,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,%%%%%%%%%%,,,%%%%%,%%%%,,,,%%%%%%%,,%%%%%%%,,,,,,,,,,,,,--~~~~~--,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,%%%%%%%%%,,,%%%%%,%%%%%,,,,,%%%%%,,,,%%%%%,,,,,,,,,,,,,,,~~~~~,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------.--------------------------------------------------------------------------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%,%%%%%,,,,%%%%%%,,,,%%%%,,,,,,,,,,,,,,,,~~~~~,,,,,,S,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------------------,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,%%%%%,,,%%%%%,%%%%%,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,S,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------.---------------------------------------,--------------------------------,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,%%%%%,%%%%,,,%%%%%,%%%%%,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,S,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------.-----------------------------------,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,%%%%%,,,%%%%%%%%%%,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------------------------------,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%%,,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------.-----------------------------------------------------------------------------------------------------------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,%%%%%%%%%%%%%%%%%,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,**S,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------------------------------------------------------------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,%%%%%%%%%%%%%%,,,,,%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------------------------------------------------------------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,%%%%%%%%,,,%%%%%%%%%%,%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,-----------------------------.-------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%,%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,S*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,%%%%%,,,,,,%%%%%,%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,--------------------.------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,%%%%%,,,,,,,%%%,,%%%%%%%%%%%%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~,,,,,,,,,,,-------------------------.-----------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,%%%i%%%%%%%%%%%%,,,,,,,,,,,,i,,,,,,,,,,,~,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,-----------------------------------,------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,**,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,-----------------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------,-------------------------------------------------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~--,,%%%%%,,,,,,~~~~~,,,,,,,,,,,,,,,-,--~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------.--------------------------------------------------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~%%%%%,,~~~~~~~~~~,,,,,,,,,~~~,-~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,--~~~~~~~~~~%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,~~~~~~~~~~~~~%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------,-----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------,-----------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------,-----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------,------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------,-------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~---%%%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~-----%%%%%,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------,--------------------------------------,-----------------,------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~-----,%%%%%,,,,,~~~~~~~~~~~~~~,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,********,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------,----------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~,,-,,,%%%%%,,,,,,~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**********,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~,,,,,,%%%%%,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,-~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------------------------------------------,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------------------~-------------------------------------,.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------.-------------------------------------~~~--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,%%%,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------------~~~~~~~~---------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,%%%%%,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****i,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,----------------------------------------------~~~~~~~~~~~~-----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,%%%%%,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------~~~~~~~~~~~~~~~~~~~~------------,---------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~,,,,,,,,,,,,,,,%%%,.......,,,,**,,%%%%%,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------~~~~~~~~~~~~~~~~~~~~~---------------------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~,,,,,,,,,,,,,%%%%%%%%........,,*..,,,%%.,%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------.--------------~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~,,,,,,,,,,,,,%%%%%%%%,........%%....,,....%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------,-~~~~~~~~~~~~~~~~~~~~~~~~--------------,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~,,,,,%%%%,,,,,%%%%%%%%,.......................%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~,,,,,,%%%%%,,,,%%%%%%%..........................,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~,,,,,,,%%%%%,,,,%%%%,,.............................,.,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~,,,,,,,%%%%%%%,,,%%%%,,%%.............................,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~,,,,,,,%%%%%%%%,%%%%%,,%%.............................,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~,,,,,,....%%%%%%%%%%%%,,%%%...............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~,,,,,,,.,...%%%%%%%%%%%,%%%%.............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,......%%%%%%%%%%%%%%%,...........................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,........%%,,,,,,%%%%%,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,-------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%.........,,,,,,,%%%%%,...........................,,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%........,.,,,,,,,%%%..............................,,,,,***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------.~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%..........,,,,,,,,,,.............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,%%%%%,,,,,,,,,,,,,,,,,,,,,,,%%%%%,,,,%%%%%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%%%,,,,,,%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~,,------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~,----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~---------,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------,-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------,----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------,-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,i,i,,,,,,,,,,--,------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,-,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,i,,,,,,,,,,,----------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------.-----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,--,,,,,,,,,,,,,---,,-,,,,,,,,***,,,,,,,,,,,-------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,--,,,,,,,,,,--,------,,,,,,,,,,*,,,,,,,,--------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,~-,--,--------,,,,,,,,****,,,,,,-------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,iii,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,~~~~~----,-------,,,,,,,,******,,,--------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,***,,,,-----------------------.-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,i,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,---------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,------------.--------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--,,,,,,,,,,,,,,,-------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,,,--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-,,,,,,,,,,,,---------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,---------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,---------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,------,--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,~~~~~~~~~~,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,---------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,-------------,---------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,-----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------.-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~~~,---------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~~~~~~~~~~~~~~~~~~~~~~~~,--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,-~~----,,,,~~~~~~~~~~~~~,---------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,---~~~~~~~~~-------,,,,,,~~~~~~,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,i,,,,,~~~~~~~~~~--------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,-,,,,,,,,,,,,-,,,,,,,,~~~~~~~~,,~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,~~~~~~~,,,----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,~~~~~,,,,,--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i,,,,,,,,,,,,,,,,,,,,--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,--,,,---,-------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,--------,---,-----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~