.  .....-,.............                                             .,,,------,----~~~~::~::
                             . .....,..............                                             ,,-,,----~------~~~~::::
                                ....,..............                                           . ,,---,-----~--~~~~~:~:::
                              , ....,..............                                            ,,,--,,------~-~~~~::~:::
                                 ..,............. .                                           ,,--,-.-,~--~~----~~~~:::;
                               , ..,............. .                                          .,----,,,--,~-----~~-~~~~~;
                                  .,............. .                                          ,----,,---~~---,-,--,~-~-~:
                                , .,............. .                                         .,,-~---~~~~-,,.,,,----~--~:
                                 . ,.............      ,.                                   .--~~~~~~~--....,.,,,,---,~~
                                 . ...............     .                                  .,,---~~~~~-,... ...,-,----,-~
                    .             . ..............     .                                  ,,,~~-~~~~-,..    . ,,.--,,,--
                                  . ..............                                       ,-,,~-~~~~--,.       ,,,---,,--
                                   . ........... .    .   .                              ----~~~~~~-,.        ,.,,------
                                   .  .......... .    .                                 ,----~~~~~-,.          .,,,-,,--
                                    . .,........ .     ..                               --~----~~~-.           .,,,--,--
                                      .......... .      .                              .-,,-------,.           .,,,--,--
                                     , .........       .                               --~---,--,,.            .,,,-----
                                     . ..........                                     .~~-,,---,,. ...  .        .,-,,--
                                      ...,.......        ..                           ,~-~,,-,,,.......           .,,,--
                                      ...,.......    .  ....                          ,~~-,,-,,,. .             . ....,-
                           ...   .     ,.,.......    .. . .                           --~-,,,,,. ..             . ...,,,
                       .~-. -..~-~-,,,::;~-,.....    ,. .                . ,,....    ..,~---,,...               ..,..,,,
                     -~~-~~~:;~;~~~~;**=*!;~-:...    ..,.               ,,,,..   ..  ,,~----,...            .   .,,,,,,,
.                  ~:~:::;*;;*=*!;::::**!**;~,,,,    ...,              .,..  ...   .~.~--~-,...      ..,,,-,,...,,,,,,,,
..               ~~;;;*;**===***=!*!!;=:;;!*=:-.. . ...    .           ,.  .        ,::-~-,...     ,..,-~~------,,-,,,,,
,..             ::!*!*====$$$==:!;;~~-:*==*!;;*: .,.,..  ., .         . .  . ...,.,.-;!:~~.. .   ..,..,,-~-:!!;:~---,-,,
-,..        .   ;=***======$=$$$:*:*;!;*=*!;!-==;;.,.     .  .            .....,,,~:~:!;-~. ..  . ...,--:::******;~-----
:--,.     .  .. .~***===========**!=*$=:!!;*=;-;!-~,-.  ...  .       ........,-----~;*!*:- . .   ...,---~~::*=!*==!:~---
*===!~-, :* ...,-.*====$$$$$$=====!*$~:*::=*;::*;;*~,,.   ,.         .. ..,-:;;;!!*;!!**;-   .   .,,---~~~~~:!***=**:~--
;;::;*!****=,,.~ ,~$=$$$$$$$$$=*!;;*:==!;$=$$!;:~*;; ,.   ,            ,,-!*!*!=!*=*=**=!-. ... .,--~-~~~~~~~:!!!*==!:~-
!**=**!!;**== , - ,-=$$$#$##$$$$=**:*;*$###:*:;;;!!::.-,  , ..         ,-!==$!$=*=*=*===!-.. ...,-~~~~~~---~~~:;!!==*;~~
!!!!=========-,.;,. *$$$$$$$$$$=$*;;!**$$*=$!**=**$=*-~~-   ,        . ,=$$$===*====***!!:.. .*;!*!:~~~-----~~~:;;!**!;~
**!==***!===$$-* . ; $$$$$$$$$=$=;;$****!$*$!;*$*~;===*,=.,.~ . ..,-~.:*$;*==***==$!!!***=*-.=,-::::~~!;,,---~~::;;***!:
*======*****=$#,-,..- #$$$$#$$$=$=;:!=!*=*=$$$$=======**=;,--,,~;*=$:-:*;!:;*=*!*$*=$$****,;*:-:;;:~~-,,,:!---~:::;!!*;;
*****=====*!;;=:~:! -!:######$$$*=*=;::;;*$=$#$##$$$$$$=!!:-,.,:!;*;:=!;!:;;~;~*=*=$=====:--=~::;;;;:::~----*:~~~::;!;;:
!**********!=;$$=;-!,;~####$#$#$*;;*=*!*==$*$$##$####$##=~!--;:!!!==,==*:!*;*;;;!==$**===;-;!:;~;;;:~-,-~~~~--!;~~::;;;:
!*=**======*=**;#,~~.~~.###$=##$$==*!===*==$$*=$##$###$$;:!;*=!!=*:-=!===!**!*;*==*$=====!~*;:!!****!;;:~--~~~-~*;:;;;;:
;!*****==****;*=$~*;~~~=;###$$#$=$=$=**=$$*$$#$$###$##$==*;$*!==$**-=$$=$#!=!**==$=$=$=$==;;;-;:**====**!;;:~::~:~*:::;:
!!!!!**!!!;;==~:*#-!., :~###$##$$=#$$$=*=$$===$$##$$$$$=!;:::==$$$*;$#$$$$$$=-~;;==*=$===$;=;:;!:***=!!====!!::::::*;;::
!!!;;;!;;~~~~;;*!$#*,;-~$~#####=#$$$$$$$=!=$=$$$$==$$$$$=!,~$$=#$$**!$###$$$$!***!*====$$$*--,.~!*!!:!*!=$==**;::;;;!;::
::--~-:::::~;*!!;$#!*,*,*-$$###$###$*#$$=====*=$$$=$$=*====:=$$$#$*=#####$$#=!~!*$$$$===#$~,,,.,;;*!!!!=$$=**==;;!!;;*;:
~~;~!:;;:;:~;:~~:;=#.;~ .=~###$##$$$=$$$$=*==!*==$$#$=$$*=**=#===$!#####$$=#$=*$$$$$==$$$!~! ,,.~;***!!******===!!!;;~::
::::!!!*!;:;;:;;~~~=*~*.:*-#######$: *====$$*=*===$$=$$=$!$!!##$=#*#####$=$$=!;$#*#$====$=*:;~--;;!****;;!!!**==!!!!;!*;
!!!;**=***!;*!;::::=#$,*-~::######@    $*====*=*$=!:=!*$$$=$*!$=$!=*!##$*=*~::-:::;====$$$!:-~::!;~!!*=*******!=!!*!:*;:
~~!*===$=*$=**===*$$$#=:!,-~@###$#  ,   ,===**===*!:=*:!###$;.--*#$$$$##$=**!!;*:!**==$==*=$!~~~:!::;!!!******!!!!=**!~-
:;!*=$$$$$$$$$$##$=$$##!- .,;####. . . ,  *=*$$$==*:;;#$$;;~;-!;####$$=*==$==*!*=$*==*=$$$$$$!*!:,;:;!;;;;!!!!!!!*=**:-,
:;!*=$$$#######$##$===$$;!!-,$##!    ~,~    $$$==$=*$*!=#=*==!:;=#!$$##$$=***!=*!=*=$==$$$$$$*=:*!:.:;:;:;!!!!!!!$:*;~~,
!**=$$$#########$$*=*$#!*;~:~:@#   ~~ -    .=$$#$=$!*!!;:=#=:=*=$==#$##$#$=:!:;!**=====$$$!#$=***;;;;~-;::;;;::;!:=*;:--
!!**=$$#######$####$$###$~,:,;;  ,;. *-.   $$$$##****$!!$=~!$=#====#####=$=*;!:!;*!**=$$##$#*$*~*=*!:;;!:~:;:~::~!:;:,.,
!**==$##################;!**!:-  - ..,,.  $$$$$=~#$*$!!;*~=**#**#=$$$###$$=*$;=!*=$$$$$$$$$#=$$:-;*!~:;;;;~:~~~:~~;:-...
!!=$$$$###########$$$=##@~=:=:.,.-...,;  #$##$=$=*$#***$*!*:$**##==#######=$$$$$=$==$$$$###$#==,**!;;;:;::~,.~~,,::,,.,,
*===$$##$##$########$$#$##,!;,,:.~,~,*..####$#$$=#$!!=;*=!~==*##!*$#=######*=$==$#$$$$$=$$##$#$!!=;--:~--  -::-,::-,,,..
*=$$$$$$$#$#$##########$#@$$~!.;,!~;.-.###$#$$=$$$==$*===!$;$$==*==$######$$=$==$$$$$$$$$$$$###*=#*;~;-,-,~::~,::-,,,...
*====$$#$$$$#######@##$=$#@*!!=.,;,,!.:@#######$$$$=*=$==*;#$$=;=$$$##########$################$$$*=;:-~::::~-:;-,,..,..
;***=$==$$$$$########$##@##=$~...,,:,,@#######$$##**=#*=*!$#$=!$!=#==###@##@@$$#@###############$=$=;::;;:;~~~:~-,,.....
;!**====$$=$$$#####$########!..,*!@@############$#$#$$*==$$$$=!*=*$$=###$#@@@##@=###############$$$*;;;;;;:;~;:-,,,.....
!**!***=*==$$$$$$$$#$*$*=##@,.~=!!*###########$####$$$$$##=!**==***!;=@#####@#@##############@###$$*;*!;;:!:;;-,,,,.....
:!!!!***=====$=$$$$$$$$$####@!*:*$!################$$##$$=!$$!#$=**$;;#@@@##$$#################$##$*!*!!!!!;--,,,,......
:;!!!;!!!**====$=$$##$#######!=*;!#;@#####@#######$#$#$$#*=*;=*=~;*;:*$#=@@@@####@#########@##$$##$!*=!***~,.,,,,,......
~;;;!;;;**!===$$$$$$#########@$!;;!$@##@@@#@@########$##$!$=*$=~=*=!-$$=#@$@@@@#@#####@###@@###=$$===***=!--,,,,,,.,....
~:;;:!;!!;**===$$$=$$$$#@####@$$**:!;##@@@@#@@#####$$=====$*$$!=*$=!*!*$#@@$@#@@##@#@##@@#@####$#$=$=***=;:~-~----,,,...
~~:;:;!!!!!!*=$=$$$$#$##$$@####!=***;$@@@@@@#######$#$$====*#!*===*!:*!$##@@#@@@#######@##@####$#$$==***=!;;:::~~--,,...
~~~::;;!***==*$=$$###$$=$$####@#*!**$~@@#@##@@#@####$###$###$=$=*$;==*==$#@@#@#@@#@##@@@@#@###$#$$===!!*=!!$@*;;~~--,...
-~~:;;;!**=====$$$$#$##$#######@*$;!*#$#@@@@###@####$######!$*#$==!=$$=$##@@#@@####@@@@@#@#####$#$$=*!;!=!!$##=;~~-,,...
-~~~:::!!====$$===#$$=#===$$$$##==**:$=@@@@@@@##$@##$$####$#=#=#$*==#$$$###@@@@@@@@@#@@@@########$==*;;!==**===;:~-,,.,.
----~~;!!**=$$$$$$!*==##===#$==,.--!;:$@@@@@@#@@######$####=#$$$#=$$#==$##@@@#@@@#@@#########$##$$$=!!;;*==****;:~-,~*;.
---~~~:!**===$$$$===*====$$$#,,,-,~~::**#@@@@@@$$##=#######$=$=#*$=##$#*##@#@@@@@#@@#############=$**;;!*==**!;:~-,;$=*~
---~~~:!!**==$$####$#$$#$##@~~~~-----;@@@@@@@##@@$$########$#####$##=$######@@@@##@#@#@########$$$=*!!!******;::~-,,~;:-
---~~~:!***==$#############=::;::---,,$@#####@#@#@##$########@#$$=@#$$$#$###@@@@################$$=****=****!;:~~~,,,,,,
,---~::!***==$$###########=;:*;::;;~-,.@#############$######@#$#$###$$#$####@#@@#################$$=*==***!!;;:;~-,,,--,
,---~~;!!**===$$#######$$=!~=*;!;;;:-,-:@########@###$####@@#########$$###$###@@@####@@#######$##$$===**!!!;;:::~-,-,,,,
,,---~:!*!**=$$$####$$$==!:~!!;*;:;!!~.-@#@$########@####$####$###$#$@#####$###@@@###########$$##$$$==*;;!!;::::~---,,,,
,,--~:;!!**==$$#$$$$$==**!*:****;--~;!: $##$$$#####@#@#@@#########=##$######$#@#@@##########$$$$##$$==!;~-!;~:::~---,,,,
,,--~:!!***==$$$$$#=*====;~~;*!!!~-~:;-::##$$$#####@#@$@#####=####$$$#####@##$##@@#########$$$$$$$$$===*!;!;~:::~---,,,,
,,,-~~;!***=$$$$$$$***$=;::~;*!*!~-~;!,,~$*$$$$####@@@#@@###$#@#=$$#############@@#########$$$$$$###$===**!;::~~~-,-,,-,
,,--~~;*!*===$=$$=**=*!!::~-:=*!;;~-;!-,!###$$#####@@####$###$@#$$######$@#####$@##=$####$#$$$$$$###$=$=***!;~~~~-,,,,--
,,,~~:;;!*=*===$=*=*!!;;;~~-~==*::~~:!:,,@##@$#####@@#@@@###@@$$####$$#$#@######$@#=$$$$$$$$$$$$$$$#$#@*!;:!!!::~~-,,,,-
,,,-~~!;!;!==$$$$**!!;;:~:~~~*===;:-~!:-,@#@@$$#####@###$@##@###$########@#######@#=$$$$$$$$$$$$$$##$$$=*;~:~~-;;:-,,,,-
,,,--~;:;;!!*==$=;;;;:;::::~~;****:--!:,,@#$-==##$####@##@@##@#@#$######@##########$$$$$$$$$$$$$$$$$==**===::--!;!;-,,,-
,,---::;;;;!!===!;!:;::::::~~:****~,,;~~;#:- *$###$@###@#@####@@#############@###=#$=$$$$$$$$$$$$$$$==!;;****:!;::=:-,,-
,,,--~;::;;;**=*;;;::::::::;::;***,,,::,=*~ =*=$#######@@@##@@##@@###@####@######$##==$$$$$$$$$==$$==!;::::!!=$==$#$;~--
,,,---!:::;;!**!;::::::::~!=*;;;!*.,,:~,$=*-***=####@##@@##@@#@@@#@@#@$@#########$##=$=$$$$$$$========!~:~~~:~:::~!*;:--
,,,,--;;::;;;**;:;:::::~~~=$=*!!:~,,,~-~$!*,*!*=$#$#@##@@@@#@@@@@@@@####@###########===$$$$$$======***!;::~-~~,---~~~~-,
,,,---:;::;;!**::~::::~~~-#$===*!,.,,--~=**-~!*=$##$$#@#@##@@@@@@@@###@##@####$#####===$$$$$$====****!!!;;:~~~----,--~-,
,,,,,-:;:;!;;*:;:~~~~:~~--;$**=*,,,,,,,!!**!-;*==$$###@#@@@@#@@@@@@@#@@#####@###@###$===$$$$$====***!!!;;;:~~--,,,,,,-,,
,,,,--~::::!;*::~:~~~~~~--~=*: .,,,,,,,!!!*~.*!*$####@#@@@@@@@@@@@@@@@@#########@@##$===$$$$====***!;;;;;:~~--,,,,,,,,,,
,,,,---::;:;;!::~~~~:~::;:;=~ ,,,-,,,-~;*;!*!,!*=###@@@@@@@@@@@@@@@@@@###@#@########$$==$$$=$==***!;;;;::~~--,,,,,,,,,,,
,,,,,--:~;;;;!;~:~~~--~~-~=!.,,,,,,,,,;:*;!;!-*==$##@#@@@@@@@@@@@@@@@#@@##@#####@###$$$$=$$$===**!!;;::::~---,,,,,,,,,,,
,,,,,--~~::;;;;:~~~---~-,*=,,,,----,,,!;*;;!-*!*=$####@@@@@@@@@@@@@@@@@#@#####@#####$$$=$$$===***!;;:::~~~---,,,,,,,,,,,
,,,,,---~~;:;;::~~-------;-,,,,----,,~;::!:~~!!!=###@@@@@@@@@@@@@@@@@#@#@@@@###$#@##$$====$====*!;;;::~~~---,,,,,,,,,,,,
,,,,,,--:~~:;;::~~~-----,-,--,,-~~-,,~;;:!;;~,!!=$$#@@@@@@@@@@@#@@@@#@@#@@@@#@######$$$$*=====**!;;::::~--,,,,,,,,,,,,,,
,,,,,,-,~~~~:~;;:~-~--~------,,---,,~~!~:~!~~~!!=$##@@@@@@@@@@@#@@@@@#@@@@@@#@###@##$$=$===*=**!!;::~~~~---,,,,,,,,,,,,.
,,,,,,-,-~-~:;:~~~--~----~~--,--,,,-~:*:~;:!,-!!*=###@@@@@@@@@#@@@@@@@@@@@@@####@###$=$$=====*;;;::~~~~~---,,,,,,,,,,,,,
,,,,,,,----~:~~:-~~-~~~~-~~-----,,,~~:;;~::;,!!!*$###@@@@@@@@@@##@@@@@@@@###@#@#####$======***!!;::~~~---,,,,,,,,,,,,,-,
,,,,,,,,--------;~~---~--~~---,,,,~~~;;;~~~;!.!!*$##@@@@@@@@@@@@@@@@@@@@@@#@##@@####$=======**!!;:~:~~~---,,,,,,,,,,,,,,
,,,,,,,------~---~-----~-~~-,,,,,:~~-;;~:~~:,,:!!$##@@@@@@@@@@@@@@@@@@@@@@@#@@#@####======****!!;;::~~~---,,,,,,.,,,,,,,
,,,,,,,,---------~~~----~~-,,,,,:~~~~!;-~~~~,,:!!=###@@@@@@@@@@@#@@@@@@@@@#@#@######==**==*****!!;::~~----,,,,    ...,. 
,,,,,,,,--,----~--------~~--,,-:~~~:~;;~~~~~~-;;*=$##@@@@@@@@@@@@@@@@@@@@##@@@@@###$==*=*==*!!;!;;:;:~~~---,.           
,,,,,,,,---------,~------~-,,~~:~~~~~;~---~~:-!;!=$##@@@@@@@@@@@@@@@@@@@@@@@@######==******!!!;;::~~~---,,,,            
,,,,,,-,,---------,,---~-~-,--~~~~~~~~--~-~~:~~;!*$##@@@@@@@@@@@@#@@@@#@@@@@@#@#@##=********!;::::~~~--,,,,;-      ,    
,,,,,,,,,,,--,----,~~-----,,,-~~~~~~:~~-~~~~:~~!!*$###@#@@@@@@@@@@@@@#@@@@@@@@##$##$******!!!;:~~~-------,,.=.     .    
,,,,,,,,,,,,,----,--~,--,,,,--~~~---~~----~~~--!**$$#@@#@@#@@@@@@@@@@@@@@@@@##$###$=**!*!!!;;;::~~--------,.-=    .     
,,,,,,,,,,,,,,---,,,-----,-,--~~~~-~~-~---~~:;.;!*=$#@@##@@@#@@@@#@@@@@@#@##@$##$#$=**!!!!!;;:~~----,----,,,,=.,      ..
,,,,,,,,,,,,,---,,,,-~,--,,,---~~~-~:-~---~~~-~;!*=$####@@@@@@@##@@@@@@@@@######$#$=*!!!!!;::::~~---,----,,,,=,., .   ..
,,,,,,,,,,,,,,--,-,,,---,,,,--~~~~~-:-------~~-,!**=$$#$@@@#@@@@@##@@@@@@#@######$=**!!!!!;;:~~~~--------,,,-=-,,.  ... 
,,,,,,,,,,,,,,,,,,,,,,--,,,,,,----------~---~~ ,!***$$##@@@@@@@@@@@@#@@#$#$$####$$==*!!!!!;;::~~----------,,~=,,.,.   . 
,,,,,,,,,,,,,,,,,,,,,,~-,,,,,-----~-~-~---~-~~~:!*!==$#$@#@#@@@#@@@@####$#*#$##$#===*!!;;;;;:::~~~--------,-:=.,.-,.   ,
,,,,,,,,,,,,,,,,,,,,,,--,,,,,---~~-~--------~~~,!!!*=$$##@@#@@@@@#####=###$*=#=$$===*!;;;;;;::::~~--------,~;=.,.-,,,.. 
,,,,,,,,,,,,,,,,,,,,,-,~,,,,,------~---------~,~,;;**=$#####@@@@@@@#=##!#=*$=;#=*===*;;;!;;:::::~~---------~!=.,,,,,... 
,,,,,,,,,,,-,,,,,,,,,-,~-,-,,------~--~------~~-.;;!!=$$$##@@@@@#@$#@##=$#=$=*#;;===*!;;;;;;;;::~~--------~:!=.,-,-,,.-.
,,,,,,,,,,,,,,--,,,,,,,--,,,,------~-------~~~~-~:;!!*=$####@@@@@####$####$==$~=!=*=*!;;;;;;;;;;:--~------~:;*,,,,,,,,-,
,--,,-,,,,,,,--,,,,,,,,,,,,,,----------------~,.~:;;;;===$##@@@#$########$#$$!*!*$=**!!::;;;;;;;:~--------~::...,,--,-,-
,-,--,,,,,,,,,-,,,,,,,,,-,,,-,----~-----------,--::;::==$$$$################=*!=*====!;::::;;!!;~~~-----,-------,. -,,--
,,,-,,,,,,,,,,--,,-,,,,,-,,,,-----~------------~,,~;:;;=*=$#####$$#$$==$###$$=$*===**$**;:;;;!!;~~~~--,,,,,,,,~~.,.,,-,-
,,,,-,,,,,,,,,,--,,,,,,,~,,,,,----~-----------,.~,~::~:=*=$$##@#$$$=$=$$#$$$=$$$**===!===!;;;!;;:::~--,,,,--:--~-~~:,-,~
,,,,,,,,,,,,,,,,-,,,,,,,-,,,,,----~------------~-.:::~:;!!$$####$$==;;==#$$=$=$$==!*====**=*!;;;;;::~----~---~~---;:-,,-
,,-,,,,,,,,,,,,,-,--,,,,-,,,,-------------------,-:~~~~~!!*$$#=#=$#$==;==$=$$*=$$$=$==!===*!!!=!!*!;:;~:;:-~~~~-*::::,-~
,,,,,,,,,,,,,,-,,,,,--,-,,,,,------------------,--.~~~~-:~!*==#$#$=#!;**===$*$=$$=$*=**=*=!;*=*!;!!;!;~;;~;:::-*~~;:;~-~
,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------~:,~.,~-~-;~;=*=$$*==$$****==!=*======*!$==$!$=;*=*!;::~~~:::::~!~:~::*;~~
,,,,,,,,,,,,,,,,,,,,,,--,,,-------------------:,,--!;.--;:-*==$==$=*$=!*!$$==$$$$$===*!!$==!**!**==**;:;::~::;~---;;!::-
,,,,,,,--,,,,,,,,-,,-,,,---,------------------,,---~~ --;~~***==$$=!*==*==***=$==*=$$=*=**====*=;!**~::;;:!*:~::~,~;;:~~
,,,,,,,,-,-,,-,,-,,----------------~-----------,~---,~---~::!*=*!==$*===*===**!=====****==*=*====*;**!!!*;;;;;;::;:!;:::
,,,,,,,,,,-,,--,,------------------~------------,-,- --,--:~;**=;==;=;$**===***===$$$****==;=*!=**==**;!**-;!~~;~::;:!:~
,,,,,,,,,-------------------------------------------.---,~--;!!;;===$;*=!=$$==$=*=$========*!!!*=*!**!**;:!;;:;~;;!:;;:~
,,,,,,,-------------------~--------------------~ ,-:.-,,,~-~;!****$====$!=$$**;*=*=$$===$=*====*!!*!**!!;!!~:;~~::::!!;~
,,,,,-----------~~~~~------------~---------------,: : ,,,--~:;!***#**$=***$$=;!*=$#$=$$$***;=$=!;*=*!!*;!!;:-::;:;!;!;~:
,,-----------~~~~~~~~~~~~~~-~----~--~-------------~~. ---~~~;-:!;;$*=***=!*=$==*=$===$$*==****=!*==;***!;!!*;:~~::;:;~:~
---------~~~~::~~~~~~~~~~~~~~~--~-~----~--------~~,~-,------~-;!;*$===*===**=$========*!*==***!**;!!:;;::!;~~!!;:;::~~::
------~~~::;;::::~~~~~~~~~~~~~~~~~~~~~----~-----~,~----,,,-~--;~!!$$==$!*=$======$$$==$=;;*****$**!*;:*!!;;~;::~!!:;!:~~
---~-~::;;;;;::::::~~~~~~~~~~~~~~~~~~-~~---------,.-----,,,:-;-:*!$!==*=;==**=*$*==$=******====!*!==;;:!;;;~::~;:!;~:;;~
--~~::;;;!;;;;::::::~~~~~~~~~~~~~~~~~~~~~-------~--~---------!~;=*===*==$#$$==**=*===$===$=;=**!!!;!!!!=;;::;;:;:!;;*;~:
~~~::;!!!*!!!;;:~~~~~~~~~~~~~~~~~~~~~~-~-------~~~.-------,--~-~**==**===$$=*=$**!=$=$*==****=;!!!!*=;:*!~!!:!;;::;~~;::
~::;!!*=#@@@@=;:::~:~~~~~~~~~~~~~~~~~-~-----~~~~~~,-------------;!=*$$=*=*!======$$===$$$$*!!*****;;!*!;;;;:~:!!~;*~-~~,
:;!!*$@@@@@@@@$;:::::::~:~~~~~~~~~~~~~---~~~~~~~~~--~-----,,-,:--=====$====*=$=*===!=========*=**=*!**::;!;;!:;*;~;*;:;:
!!*$@@@@@@@@@@@=;:::::::~::~~~~~~~~~~~~~-~~~~~~~~~-.-------,-,~-~;*==$======*====$!==***==!*===!*;**=!!;!;;::*!!;!:;:~~~
*$#@@@@@@@@@@@@@=;::::::~~~:~~~~~~~~~~~~~-~~~~~~~~~ ,-----~,-,~~--=*=$$=!*$=$$==!*=*==$!**;;;*===!!=!!!~;:!:;;:~:;;!;:::
=$##@@@@@@@@#@@@@*;:::::~~~~~~~~~~~~~~~~~~~~~~~~~~,:~~----,,-----~:=$$$==!*=$=!!;*=**=$=*$=***!*~!**!:::~~~-::;:;:;~;~--
$$##@@@@#@@@@@@@@@!;;:::::::~~~~~~~~~~~~~~~~~~~~~~.~-~-------,--~~!*$$$$*====**=**=*!=$==**=!*!;=;!!!:;;:~;!:!;;:::::~~;
#$###@@@###@@@@@@@@!;::::~:~~~~~~~~~~~~~~~~~~~~~~~~ -~-------,,--::!$*===***=====!=**$=$===*====*;;*:::;;!~;!:;;!;::~::~
$$#$##@#@###@@@@@@@#;;::::::~~~~~~~~~~~~~~~~~~~~~~~-~---------,~-,;*$=*$$$=!==*$*!$$$$**$===!=*!!;:!*;;;;;!*~~:::!;;!!;;
$$=###@@@#####@@@@@@=;::::~:~~~~~~~~~~~~~~~~~~~~~:~     ----,-----~!***======*===*!!=$$$=====**;*;:;*!;:;;;;;:;;~:;!;::~
$##$$###@@@#@##@@#@@@!;::::~:~~~~~~~~~~~~-~~~~~:~:       ~----,-~,~~~===*=***=*=*==$==**=$***;****!;*;::;!;:!;;::~;~~~~-
$###$$$###@@@@@@@@#@@=!:::::::~~~~~~~~~~~~~~~~~~~~        ----,-,-!-~;=**==****$*=**===$$=!*!!***;*~;!!;::::;!;:~~!;:,--
#$$$#$########@@#@@@@$!;::~::::~::~~~~~:~~~~~~~~~, .      -------~--:~=*=$$=***$*==**=$=======!*!!!;~;~~!!;;;;;::::~;;;:
$$#$$$##########@@@@@$=;::::::~~~:~~~~~:~~~~~~~~~, . .    -------:--:-~*!=*=*!*=*!==!==$$$$=****!**~!*!:~~!*:~:!:!;;;:::
$$$$#=####$####@@@@@@$=!;::::~:~::~~~~~~~~~~~~~~~~.      .------~.---:-;*=**=;***==*!*$==*=====*!;!!!;;:!!!;;~:~::-:~:;:
=$$$$#$#$######@@@@@@$==!;::::~~:~~~~~~:~~~~~~~~~:.      ~--~---~--,-,-~*==***=*$===***$==$==!!**=;;;;;!!*!::;;!:;:::*;~
$$$$###$###$###@@@@@@$==*!;::::::::~~~~:~~~~~~~~~~~     ~-~-~--:----,-~--=***!;*=;=$===*=*==*==**;:~!;~;!!;:;;:;!!!::;;~
=$$$$###$######@@@@@@$==*!;;::::::~~~~~:::~~~~~~~:::---~:~----~~-----,---~*=**!;!*=*==$$====***!;!:;:::~::!;!;:~;;;;;~;!
==$#$$$$$#####@@@@@@#$=***!;;::::~~~~::::::~~~~~~~:::::~:~~--~;~----,,,---:!*!=!:***=$=***=*=!*=**;;:;;;!*::~;:!:~::::--
$$$$#$$$##$####@#@@##$=****!;::::::::::::::~~~~~~::::::~:~~-~:~------,,,---!**=**=*=**!==*==**;**!*!:;*::!!*!*!!;:;;;!~-
====$#$#$$$#####@@###$=****!!::::::~::::::::~~~~~:::::~~~~--~---,---,,,,,,~~*!!;!*;;!=====***!=!;*!;!*:;;**;:;;!;!!:::::
$==$=$#$#$##@##@@####$=****!!;:::::::::;::::~~~~~~:::~:~~-~~~---,,,,,,,,,,-,:!!=*====****=**==!=*~!:~:!:::!~:;;:;:;!::::
$$$$#$$#$##@##@@####$$=*!!!!!;::::::::;;;:::~~~~~~:~~~~~~~~~----,,,,,,,,.,,--~;!**=***=!=$==**$=**!;!!!::::!!::;:::::;!:
==$$=$$$#$#$@@######$==*!!!!!!;:::::::;;;;::~~~-~~~~~~~~~:~-,,,,,,,,,,....,,,,:*!;=*****====$===::;;~!;:~;!;!;::;;;!;~~~
=$=$$$$#$#$@#######$$=*!!!;!!!:::::::;;;;;::~~~--~~~~~~~~;--,,,,,,,,,,...,..,,-;;!*=!!!=$***==****!!;~~:!;;;;;;;;:;:;~:~
$$=$$$$$$#@######$$$==*!!;;;!!:::::::;:;;;::~~---~~-~--~,~---,,,,,,,,,,,.....,,,;!*;!!*===*=!=!!;:!****!;!:!!;:;:;:!:~:~
$$$$$$$$#####$$#$$$===*!;;;;!!:::~:::;;;;;:::~~--~----~~:----,,,,,,,,,,.......,,.:**!..**!****!!*!;~!;:;;:!;:!;:;!;::~~-
==$$#$#####$$$$$$====*!;;;;;;;::::::::;;;:::~~~--------~~---,,,,,,,.,,........,         *!=*=!!*!!;;!!!;;::;;;;!!::!!:;~
$$$=$$$$$#$$$$$====**!!;;;;;!;~~:::::;;;:::~~~-------,-:---,,,,......,.......,,         !**!**!***;;;!!;:!*!!;;~::::;;-~
*==$==$#*#$$=$====***!;;;;:;!;~~~~~::::::;::~~~-,,,---.-,--,,,,,............,,          *==*;$******!!;:;::*;:~::~~:::~:
$====##$!$===$===**!!;;;:::;!:~~~~::::::::::~~--,,,,---,,,,,,,,,.............           **=*=*!*!=**;:!!:;;::~:!;;!!~:;:
===$$##!;$=====***!!;;:;::;;!:~~~~:::::;::::~--,,,,-~,,...,,,,...,.......,..           ;!!!*=*!!!!!!!;;!!;!;;~~~~;;::-~~
$===$##!:=====***!;;;;::::;;:~~~~~::::::~:::~~-,.:,,.,......,.,,...........             ;!*=*****!;::;!!;;;:;;;~:::::-~:
**=$$!!;:=====**!;::::;:::;;:~~~:::::::~::~~~~::-,.......................        ..      !****!*!;!!!!*;!!;;~~:--~;;:;::
====*~:;~====***;:::::::::;;~~~~~:::~~~~~~~~~;--,......................                   !!**!****;!;!!;*!!!::;::;::~::
====!~;;~===***!::::::::::;:~~~~~~~~~~~~~;;!:~--,,....................              .      *!!*!*:!*;*!;;!!!:;!;;:::~;::
===#=;*;~===*!!;:::::::::::~~~~~~~---~~~;~~~~----,,..................         .   , .,     :******!:!!;!!;;;:;:;~::~:~~:
==$#$*!~~=*=*!;::::::::::::~~~~~~----~-:~--------,,.................                     .. ;:!!!;;!!!;::;;;;!;;;;;;~-:~
=$$=*;;:-==*!;;::~~~~:::::~~~~~~-,,,~:---------,--..................        ,  , , .         ,~;;;:;;:;:::;:;~~~;~:;;:~:
=$$*~,-:-==!!;:::~~~~~~~:~~~----,,~~,,,------,..---..............         ~                     ::::;!;;!!:!:::::;~;:~~-
$$=;,,,~-*=!;;::~~~~~~~~~~~---,.;-....,,---,....,-,,.............                                 ;;;;;!:;:!;;:::~:;-~~~
==*~,,,,,=!!;:::~~~~~~~~---,,-;-,,..,.,.-,,......,,-,........ ..                                   :!!!;;::::!::;:;;:~::
$*!*,,-.,*;;;:::~~~~~~~---,~;~,,.....,..,.........,,-,,,,.....                                      ;::!;;::;;~::::;;:::
*!!:::,,,-;:::~~~~~~~~~---;:,,,,,..................,,--,,,..           .                             ~;:;;:::~;:~:;;~~~-
*!;:;;,,,,;::::~~~~~~~-:~~-,,,,,,,,,...............,---,,,,.            .                             ::~~:::;:::~:;~:;~
;~:~:-,,,.!:::~~:~~~,::,,,,,,,,,,,.................,----,,          .                                  :::::~~:::;:~~-~~
;:~~-. .,.-:~:~~~:-:-,,.,,,,,,,,,,.................-,---          . ..                                 -,~;;;:~~~-~:~~~-
~~~-- . ...;~~:!:~--,,,,,,,..,,,...................---.            .,                                     ~:::~~~:~~::~:
--:--......,!:~~--,-,,,,,,..,,,,...................,,            ...                                       ::::::;~~~~~~
:-*-~...,.. .~~--,,,,,,,,,,,,,,...................                                                         ~~~::~~;~:--~
:;!-,~-~,...  ,-,,,,,,....,,,...................            ,                              .              -~~:~~::~~~~~~
--~,--,,,..     .,,,......,...............                                                                   ~~~:~~~----