&&%%%%&&&%%=====%%========?????=%%&&$$$$$$$$$$$$&%%%=>++++)))*))*!!!!!!;;;;!!*+?>?>++++)))))++?=>++)*****!!!!!!!!!;;;;~~-::::::::--------------~~~~~~~~~~~^~~~^,
&&%%%&&&&%%%=====%%%%=====???===%%&&$$$$$$$$$$$$&&%&=>++++)))**)*!!!!!!;!!!!!*>???>+>>+)))+)>%=+++))*****!!!!!!!!!;::-:::::::-;:::-----~---;;-~~^~~~~~~~^^~~--~^
&&%%%&&&%%%%=====%%%%=====???===%%&&$$$$#$$$$$$$&&%%=>++++))***)*!!!!!!;;!!!!*>??>+>>+))))+?%?>>+))****!!!!!!!!!!;--:::-::----;::-----~~-:+%*:-~~~~~~~~^^~~~-~~^
&%%%%%%%%%=======%%%%=====???===%%&&$$$$##$$$$$$&&&%=>++++)))*))!!!!!!!;;!!!!*>??>++++)))+=?>+>+)))**!!!*!!!!!!!;~-::---------:-~~---~~~:?&&&%%+??:~~~~^^^~~--~~
%%&%%%%%========%%%%%%===?????==%%&&$$$$#$$$$$$$&&%%=>++)))))***!!;!!!;;;!!;!*>??+++)))*+=?+>>+++))*!!!*!!!!;;;-^-:-------~~--:~~~-~--;*+%&&&&&$$$&:~~~^^^~~---~
%%=%%%%==========%%=%%===?????==%%&&$$$$$$$$$$$$&%%%?>++)))))***!!;;!!;;;;;;!*+?>++))))?=>>>+++++)*!!!!!!!!;;;-----------~~~~--~~~~-)??????=%%&$$%$?;~~^^^~~---~
===%%%%===?=?=======%%==??????=%%%&&$$$$$$$#$$$$&%%%?>++))))**))!!;;!!!!;;;;!*+>+++))?=?+>++++)+)*!!!!!!!!!;:-:;-------~~~~~~~-~~:*>>>>???>??=%$$$$&!^~~^^^~---~
==%%%%====??=======%%===??????=%%%&&$$$$$$$$$$$$%%%%=>+)))))**)*!;;!!!;!;;;;!)+>+++>%=>>+++)))))****!!!!!;:----:------~~~~~~~~-~-=%>>>>>>?????=&$$$$%)-~^^~~~--~
==%%%==========?===%%%==??????=%%%&&$$$$$$$$$$$$%%%%?>+)))))****!!;;;;;!;;;!!)+>+>=%?>+++)))))*)**!*!!!!;::;--::----~~~~~~~~^^~~;>?>%&?>>>>????=&$&$&%=;~^^~~--~
==%%%%=============%=%==???>??=%%%&&$$$$$$$$$$$$%%&%=>>))*))***!!!;;;;;!;;;;**++>==?>+++)*))))))**!!!!!:;;::--::-----~-~~~~~^:)+>==%&$&=>???>??%$$$$&==%;~^~~-~~
==%%===============%===?>??????%%%&$$$$$$$$$$$$$%%%%?>>)**))****!;;;;;;!;;;!*)+?=??>+))*)))********!;:::;::---:--~~--~~^~~~^:=???=%=%?=&??=???%$$$$$$%=%=-^~~~~~
=%%%%=========?====%===?>??>???%%%&$$$$$$$$$$$$&&%%%=>+)**))****!;;;;;;!;::!**?%>>>+)**)))*!***)*));::;:------:-~~--~~~~~~^^!=%??%=?%%=&%==%&$$$$$$$$&%==+~~--~~
%%%%%=====%====?======????>>??==%%&$$$$$$$$$$$$$&%%%?>+)))))****!!;;;;!!;::!*!>>>>+))*))***!***))*;;;::-------:-----~~~~~~:%$&&%%==??=%%%==&$$$$$$$$$&=%=%:---~~
$%%======%%%=???======?????>??=%%%&$$$$$$$$$$$$$&%%%?>+)))))*!!!!!;;;;!!;:;!!*)>+))))*)))*!*))**::;:::---~~~-~::--~~~~~~~~+%$$$%????>>??=%%&$$$$$$$$$$%%%%*----~
$$%======%%%==??=======????????%%%&$$$$$$$$$$$$$&%%==>+)))))*!!!!;;;;;!;;;;!**++))+))*********!-:;;:---~~~~~~~;--~-~~~~~^~>=$$$&=???>>>?=%%$$$$$$$$$$$&%=%)----~
$#&%%==%%%%%=?=========?>>????=%%%&$$$$$$$$$$$$$&%%=?>))))))*!!*!;;;;;!;;;;!!*+++)))))*****!!::::;;:--~~~~~~--:--~~~~~~~*>%&=$$$=>??>?==%%&$$$$$$$$$$$&%=%!~---~
###&&&&&&&&&&%%%%&&&&%&%%%%%%%&&&&$$$$$$$$$$$$$$&%%=?>))))))*!!*!;;;!!!;;;;!!*??+)))******!;;;:;;;;:-:-~~~~~~~---~~~~~:+$$$$%=$$=>>>?===%&$$$$$$$$$$$$&%=%:~----
$$$&&&&&&&&&&%&&&&&&&%&&&&&&&&&&&&&$$$$$$$$$$$$$&%==?+)))))**!!!!;;;!!!;;;;!!)>+)))***)*!;:::;;;;::-----~~~~~~--~~~~~-=$$&$$&%$$&%%%&%%%&$$$$$$%$$$$$$&=%)~~~~~-
&&&%%%%%&%%%%=%%%%%=====?====%%%%&&$$$$$$$$$$$$$&%%=?+))))))*!!!!;;!!!!!;::!!+>)*))**)*!;:;;;;;;:::------~~--~-~~~~~~+$$&&$$$$$$$$$$$$$$$$$$$$%%$$$$$$&=?-~~-~~-
$$$$$&%%%%%%==%===%===??????===%%%%&$$$$$$#$$$$$&%==?+)))))**!!*!;;!!!!;;;:!!)+))**))!;-;;;;;;;::::---------~~-~~~~~;%$$$$$$$$$$$$&&&&$$$$$$%%%&$$$$$&%=:-~~~~--
$$$$&&$%%%%%===========??======%%%%&$$$$$$$$$$$$&%==?)*))))**!!*!!;;!*!!;;;!;)+)****!::;!!;;!;;:::----------~~~-~~~~;&$$$$$$$$$$$$&&&&&$$$$&%%&$$$$$$&$>=*:~~~--
$$$$$&&&%%%%%%%%=%=============%&&%&$$$$$$$$$$$&&%%=?)*))****!**!;;;**!!;;;!;*)***!;;;!;!!;;!;:::::---~~~---~~~~~~~~^*&$$$$$$$$$$&&$$$&$$&=%&$$$$$$$$$$&$?:~~~--
$$$$#$&$%%%%%%%%==========??===%%%%&$$$$$$$$$$$$&%%=?)*))****!**!;;;**!!;;;;;;*!!;:;!;;;!!;;!;:::-:---~~~--~~~~~~~~~^^-!=$$$$$$$$$$$$$$$$=?=$$$$$$$$$$$&&?~~~--~
$$$$$$$$%=%===%%==============%%&&&&$$$$$$$$$$$$&%%=?)*))**!!!!*!;;;**!!!;;;;;!!!!;;;;;;;!;;;;:-:---~~~~~~-~~~^~~~~^^^,,^::;+%$$$$$$$$$&%==%&$$$$$$$$$$$%)~~~~-~
$$$$&&&$%=%==%%%%%%%%==========%%&&&&$$$$$$$$$$$&%==?)**)**!!!!!!;;;**!!!!;;;;:!*!!!!;;;!;;;;;:-::--~~~~~~~~~^^-~~~^^,,,^^,^^~;&$$$$$$&%===&$$&$$$$$$$$=>~~~~~~~
$$$$$$$$&%%%%%%%%%%%%%========%%%%&&&&$$$$$$$$$$&%=?>)**)*!!!*!!;;;;**!!!!;;::;+)**!;;;;;;;;;:::::-~~~~~~~~~~^~-~~^^^^^^^^^^^^^?&&&&&&%=???%&$$$$&&$&&$+-,^~~~~~
$$$$$$$$$&%%%%%%%%%%%%%%%=====%%%%%&&$$$$$$$$$$$&%=?+***)!!!!!;;;;:;!*!;;!;;:;>>+)**!!;;;;;;;::::::-~~~~~~~~^^^~~~^^^^~~^^^^^^^?&%===%=??==%$$$&$&&%$$=!;^^~~~~~
$$$$$$$$$&%%%%%%%%%%%=========%%%%%&&$$$$$$$$$$$&%=?+***)!;;!!;;!;;;!*!;;;;;:!>++))*!!;;;;;;:::-:::-~~~~-~~~^^^~~^^^^~~~^^^^^^~?%=??=%=??=%&$$$###$&%%&+~^^~~~~~
$$$$$$$$$&%%%%%%%%====????=?===%%%%%%%&$$$$$$$$$&%?>+***)*!;!!!;;!!!!!!!;;;;:*+++))*!!;;!;;;::--:-:-~~~~-~-~^^^~~^^^~-~^^^^,^^-?=======?=&$$$$####$$&??^^^^^^^^~
&&%%%%%===????=????>>>++++>++>>?==%%%&$$$$$$$$$$&%??>)))**!;;;!;;;!!!!;;;;;;:)>++))*!!;;;;;;::::::::--~~~--~^^^~~^^~~~^^^^^,^:==?=%=?==%$$$#######$$$%;^^^^^^^^~
$$$$$$$$$$&%%%%=%%====???????==%%&&&$$$$$$$$$$$$&&=??+))**!;;:!;;;;;!;:::;:;:)++)))*!!!;;;;:::::::::--~~---^^^^^^^^~~~^^^^,~*===>====%$$$$$$$$$#$$$$$$%*^^^^^^^-
$$$$$$$$$$$$%========???=?=====%%&&&$$$$$$$$$$$$&%???>>>+**;;;;;;;;;!;:::::;:)++)))*!!!;;;;:::::---:-~~~~-~^^^^^^^^^^~^^^^:?%===+??=&$$$$$&&&&&$$$$$$$$&?-^^^^^-
$#$$$$$$$$$$&%======????=?====%%&&&$$$$$$$$$$$$$&%?=?+**)>>)!;::;;;;!;:::::;:)+)))**!!;;;;;:--::-----~~^^~~^^^^^^^^^^^^^~*%=====+?%$$$$$$$&&&&&$$$$$$$$$$=-~~~^-
$$$$$$$&$&$$&%=======???=======%&&&$$$$$$$$$$$$$$%?);----:*>?);:;;;!!;;::;;;;)+)+)**!!;;;;;:--::-----~~~^~~~^^^^^^^^^~*?%%==%%%%>%$$$$#$$$$$$$$$$$$$$$$$$$*--~~-
$$$$$$$$$&&$%%%=%====???=======%&&$$$$$&$$$$$$$$&?!:--~~~~~:>>);;;!!;;;;:;;;;)+))**!!!;;;:::------~~~-~~^~-~^^^^^^^^~>%%===%%%%==$$#@@@@@##@@##$$$$$$$$$$$*--~~-
$$&&&$$$$$&&%%%=%%====?========%&&&&&$$&$$#$$$$$=!:--~~^,^^^-)+!;;!!;;;;:;;:;)+)))*!!!;;;:::-----~~~~~~~:)+*^,,,,^^^)%====%%%%=%&$$#-`^!`.+``~#$$$$$$$$$$&:-~~~-
$$&&&$$$$$$%%%%%%%==============%&&&&$$$$$$$$#$%+:-~~~^^,,,^^-+*;!!;;;;;::;;;)+))**!!!;;;:::---:*!:!***)?++;^,,,^,,-=====&&%%&%&&$$@-`'-`'>`;%#$$$$$$$$$$%--~~~-
$$&=&$%$$$&%%%%%%%===??=========%%&&&$$$$$$#$#&?*;:-~^^,,,,^^~+>*!;:::;;::;:;)+)***!!!;;;:::-:!>?>?>>+>++?>~^,,,,,,+==?=%%%%&&$$$$$@-'`'''>`^)#$$$$&$$$$$%---~~-
$$&%$&&$$&%%%&%%%====????=======%%&&&&$$$$$$$$%>*---^^,,~-~~^~>=>?>!::;;:::;;)))***!!!;;;::::++>>???>>>?>)>:^,,,,,!=???=%%&$$$$$$$$@-.,`~'>`~>##$&&&&$$$$&:--~~-
$$%&$&$$$&&%&%%%%%%=???========%%%%&&&$$$$$$$&%+++!!:~^^--~^~:?====>!;:;:::;;))***!!!!;;;;::-=?>>>?>?>+>=?=:^,,,,;%====%=&$$$$$$$$$@-'-':'>`:=?&#$$&&$$$$$!--~~-
$$&$$&$$$&$&%%%%%%===??========%%%&&&&$$$$$$&==;~:-;:^^~!;);~:?=???>*;;:::;;;))*****!!;;;;:-->%>>?=%=?>>%=%-^,,,*%%=%&%%&$$$$$$$$$$#:^*~;^>,,~,>##$$$$####=:-~--
&&&$$$$$$$$&%%%%%%=======?=====%%%&&$$$$$$$$%?>-^^^^-^,^~~;:^:?==?>+>*;:::;;;*)*****!!;;;::--+=?+++>==?>%=%-^^^)%%%%%&&$############@@@@@@@@@@>#####@###@##)-~--
&$$$$$$$$$&%%%%%%%%====???===%=%%%&&$$$$$#$$&?>:^~^-:^^,^^^^~>++=?>+++):::;;;*)*****!!;;;;:-;?=>?>>???=====)^,;%%%%&&&$#!!!*>!!)&!?+*)!%!?>*#>!)$@%!!!>$*!=&;---
$$$$$$%&$&%%%%%%%%===?????==%==%%%&&&$$$$$$$=?>*-^,--~,,^^^^->*)==++?>+!::;;:))*!!!!!!!;;::-->>+>+++>?===???-,?=%%&&&&$#:'`;:`~`).-.:~`?`^:.+`~`-@=~`,),'^'%)---
$$$&$&%&$%%%=%%%%%==?????======%%%&&$$$$$$$&>?>*:~:;:~,,,^^~~:)>%=>+?>?*::;;;))*!***!!!;;:--->=%%==+>?===?>?-;%==%&&&&&$#.'#;`;`);'`?-`?``^.*`);*@#?`;@`,;`=+---
$$$%$$&$%%%===%=%%==?????======%%%&&&$$$$$$%>>>);;>!:)-,,^~~-->===?>>>+;:::;:*))****!!;;;:--~!>>>>++?===%???-?==%&&&&&&$#''#;`.'==`.#~ ?```.*`-.~@#?`:@`.;`=+---
$$$&$$$&==&=====%%=============%%%&&$$$$$$$&??>+;*))));^^~~!)=&===??=>!);:;;:*)****!!;;;;:--~!>?=%===?==%?>+)%%%%&&&&&$$#'.#;`*`!#'~@~`?`-`.*`)`^@#?`:@`,;`=+---
$$$$$$$$%%$=====%%%============%%%%&$$$$$$$$==??*)-^;~-:-~:**%%=?=%>>?>*;:;;:******!!!;;;:----)%&&=+>??=?>?>?=&&%%&&&&&&#'.#;`*`!#'~@~`>`*..?',`,@#?`:@~`..=*:--
$$$$$$$$$$%=?==%%%%%===========%%%%&$$$$$$$$%=?=);-^~,-^!;!-!%&%?==>>??;:::;;******!!!;;::-~~~~?%%&++>??>>>%%%&&%%&&&&%$#?=@%?&?&#?=@%?$?&%=@&=%=@@$?%@@==$>;---
$$$$$$$$$&===?=%%%%%==========%%%%&&$$$$$$$&&=>*--:-^,~--!;!)=====%=+=?):::;;******!!!;;;:-~~~~-?%&%?>>?%&$$&&$%%&$$&%&##@$$$$#@$$@#$$$@#$$$@#$$$@$$##$$$#$)!:-:
$$$$$$$$$$&=?===%%%%==========%%%%%&$$$$$$$$&)-~--~~-~,--*+)**)>=%==?=>*:::::******!!;;;;-~~~^^^~>=&%+=$$$$$$$$$%$$$&$$$#@~`;`+~'':+``-@=```;?``^*'',!```!$+*;::
$$$$$$$$$$$%?====%%%%=========%%&%&&$$$$$$$&)-~^-~~~-~~~!+*;;;;;!?%?%=>?;::;;*****!!!!;;::~~~^^^~?$&%%$$$$$$$$$$$$$&&$$$#@~`!`*`~;:+`*#@%`:^.>`;#~')~=)`!#$)*!;:
$$$$$$$$$$$&======%%%=========%%&&%&$$$$$&&+-~~~------~;+!!;;;;--;>??+>>;::;;*******!!;;:-~~~^^!=$$&%$$$$$$$$$$$$$$#$$$$#@~`!`+:`^=+`,*@%`.';?`.*+'')#+`*@$))*!;
$$$$$$$$$$$$%====%%%%%=====%%%%%&%&&$$$$$&%;-~~~-!**!*+>*!!;:::--~*>)?);;:::;*******!!;;:-~~~^)&&$$&$$$$$$$$$#$$$$$#$$$$#@~`!`)+!..)`:=#%`~,'>`-=?!~`?+`*@#+))*!
$$$$$$$$$$$$&====%%==========%%%&%%&$$&$$&?:~~^~)=&?+>>)!;:--~--:-->;*)!::::;)******!!;;:-~~~!%%$$$$$$$$$$$$$#$$$&$#$$###@-`-`>'~^'*`-+@%`~,'+`~+:':`++`*@#>+))*
$$$$$$$$$$$$&=====%==========%%%%%%&$$&&&&+-^^~*+=%?>?))*!;:-~~---~)+!;!::;::))**!**!!;;:-~^~=%%$$$$$$$$$$$$$$$$$&&&$##$$#%:-!#>--+?~~;#&~~-!=~-:&:-!#?-+@#>))*)
$$$$$$$$$$$$&=====%%==%=%%==%%%%%%&&$$&&$&)-^~~+?=??>?+*!:-~~~~~--~;*)::::;:;))**!***!;::-~~;&&$$$$$$$$$$$$$$$$$$$%%&$$###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%>+*)
&&&&$$$$$$$$&====%%%%%%%==%%%%%%%&&&$$&&$&*-~~~)??%>)>*!!!-~~~~~^~~:+)!:::;;;*)**!***!;::-~~!&$$$$$$$$$$$$$$$$$$$$&&&$#--:>>--;$=--?@)-:%!---*-=%::)$:--$!-;%?))
&&&&$$&&&&$$&=====%%%=%%%=%%%%%%%%&&$$&&&&*-~~^!%%>)+*;;::~~~~~^^^^;;;*::;;;;***!!***;;::-~~*$$$$$$$$$$$$$$$$$$$$$$$$##`.~,!`-`**``!?`:',+,`!;`>,':`>'.*)`:`!=))
&&&&&&&&$&$$$%========%%%%=%%%%%%%%&&$&&&&!-~~^:$&+)+*!:::-~~^^^^^^:;;!:::;::****!**!;:::-~~>$$$$$$$$$$$$$$$$$$$$$$$$##`.~.!`:`):',~+`),,@-`&*`>'.)')'.>>`~>&?))
&&&&&&&$$$$$$&%========%=%====%%%&&&&&&&&&!-~~^~$%)))*!;:----^^^^^^-*:;:::;::***!!*!!;:::~~~%$$$$$$$$$$$$$$$$$$$$$$$$##``~)!`,'?^^~.)`)%%@~`&* >'.$=%''~@+,`)=++
&&&&&$$$$$$$$$&==========%====%%%&&&&&&&&%;-~~^^%%))**!!:~^~~^^^^^:-*:;;:;;;:***!!!!;;:--~^:&$$$$$$$$$$$$$$$$$$$$$$$$##`,@@!`*`!````*`)''@-`&*`>'.*`)',$)`+`~&++
&&&&&$$$$$$$$&&%====?========%%%%&&&&$&&&%;:-~^,*+)!!;;~^^~~~~~^^;!;):;;:;;;:**!!!!;;::--~^)$$$$$$$&$$$$$$$$$$$$$&$$$#$'.@@!`!`-`^;`+,'`!@~`&*`>;`',='`'+..'*=)+
&$&&&&$$$$$$$$&%=============%%%%&&&&&&&&=:-~~^,-*;!!;:~^^~^^~~-:*:;);:;::;::*!!!;;;;:---^^>$$$$$$&&&$$$$$$$$$$$$&$$$##&&##$%$&&&$$%$#&&##&&#$&##&&##&&%#&=%%+)>
&&&&&&$$$$$$$$&%%&&$$&%======%%%%%%&&&$&&=:-~~~^^!:))!;-^^~~~~::!-;;)!::::;:;*!!!;;;;:---~^>$$$$$$$&$$$$$$$$$$$$$&$$$$%&####$&$$#$$$##$$$$$$$$##$###$#%>?>+>+))>
&$$$$$$$$$$$$$$$$$&$$$$$&%===%%%&&&&&&$$$=:-~^^^-~~!!*!;~^:~~;!;::!;*)-:::::;**!!;;:;:-~-~^>$$$$$$$$$$$$$$$$$$$$$&$&&$%%$$$$$&%%%&$$$$$$$$$$$$$$$$$$$$>!***))))>
&&$$$&$$$$$$$$$$$$$$$$$&&&&==%%%&&&&&&$$$=:-~~-~~^~!;;::;~:^:!!!+*;!++------:!**!;::::-~~~~>$$$&$$$$$$$$$$$$$$$$$$&&&&&%$$$$$$$$$$$$$$$$$$$&&$$$$$$$$&*!!**))))?
&&&$&&$$$$$$$$$$$$$$$$$$&&&&%%%%&&&&$&&$&=;-~--^~-~*;!:--~;~)>>>+*!*)+;-;!;:~-;!;::----~~~~?$$$&&$$$$$$$$$$$$$$$$$&&$$&%&$$$$$$$$$$$$$$$$$$&&&&$$$$$$%*!!))))))>
&&&&&&$$$$$$$$$$$$$$$$$$$$$&&%%%&&&&&&$$%);---~^;-;!!:*~--;-?>++++++>>)!:*)!!)**!!:----~~~-=$$$&%&$$$$$$$$$$$$$$$$&&$$&%=&$$$$$&$$$$$&&&&&&&&&$$$$$$$>***)))+))>
&&&&&&$$$$$$$$$$$$$$$$$$$$$$$&&%&&&&&$$&>+*----^-~*!!:*:-:~)?>>++++>>+*!;;!!**));:!-~^^^~~;&$$$&%&&$$$$$$$$$$$$$$$&&&&&&%=&$&$$&$$$$$&&&&&&&&&$$$$$$&****+)))))>
&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$&%%&&%&$%>)+):;-~--~)!!;~-~!)>>>+))++))**)+)*)))!!)!!*:~^^^~>$$$$&&&&&$$$$$$$$$$$&&$$$&&&&&%%&$&&&$$$$$&&&&&&&&&$$$$$$>!**)+*))))>
&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$&&%%%&$=)*)+;!-~~-->;!-~-!>>>?++!!*!+))++*!!;!*!:*;-;:;;-^-%$$$&%%&$$$$$$$$$$$$$&&&$&&&&&&&%=&$&&&$$&&&&&&&&&&&$$$$$=*!***)*))))+
&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$&%%%&&%+**+;;~~^--!-;~^;>+>?++)*)*++)*!!**!;:::;*):-*~~:-;&$$$$&%&&$$$$$$$&&$$&&&&$&&&&&&&%==%&&&$&$&&&&&&&&$$$$$$%)!!*****)))*)
&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&=>*!+;!-~,----!~^-+>?>?+**)))**!;::--~~:;*!;;!**:~;:&$$$$$&&$$$$$$$$$$$$$&&&&$$&&&&&%&%=%&$&$$&&&%%&&&$$$$$%)*!******)))*)
&$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&%?*!*;;~^^~--;;^,->?=?>)**+)!:-~~^^^,,,,,^!??>!-;;-:!=&$$&$$$$$$$$$$$$$$$&&&&&&&&&&&&&$$&%&&$$$&&&%%$$$$$&?***!***)**)))*)
&&$&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&%+;*!;^~^^---~^~+?=?>+*)+)>+)*)!;**!!*)*;;+%%%>*;!:-^;%$$&&$$$$$$$$$$$$$&&&&&&&&&$&&&$$$$$&&$$&&$$$$$$$=)!*)*********))*)
&&$&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&=)*)!:~~^-~-~^->?=??>)+)+?!;?=:>%*;*&!;;>&;;>?:>>!!;:^~*++=$$$$$$&&$&&&&&&&&&$$$$&&&$$$$$$$$$$$$$$$$$%>!!;*****!!**!*))*)
&&$&&%&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&=)!);~~^-:-;;;?=?>???)*!%~'^'+`+?`-`).,,,&``:+`+):!!;-^^^,?$$&$$&&&&&&$$$&$$$$$$&&&$$$$$$$$$$$$$$$$$?)+!;;!*****!**!!)**+
&&&&&%&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&=)*);-~~;-*+=%%=>??>>);!&,.+;+`+>`*`!...:?`^,+`+),~!:!:^^,>$$&&$$%&$$$$$$&$&&&&$$$$$$$$$$$$$$$$$$$$$%))*:;!*****!**!!*)*+
&&&&&&&&$$$$$$$$$$$$$$$&&$$$$$$$$$$$$$&%+))-:--::=&%%%=>>??+;-;&,.~`+`+>`*`!.,,,*':')`>?~,-*:;;~,~)+);>&>=$$$$$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$=)*:;!*******!!!!**)
&&&&&&$$$$$$$$$$$$$$$$$&&$$$$$$$$$$$$$&$%)):-~::+$&&%%=?=>?>;-;%^.-`+`:)`:`*.^^`:`.`;`;=!^^!!;-;,^,^^^=%)&&&&$$$$$$&&&&&$$$$$$$$$$$$$$$$$$$$$+!;!*****!!*!!;;!;)
&&&&&&$$$$$$$$$$$$$$$$$&&$$$$$$$$$$$$$$$$=)+!-~-=&&&%%=?=>?>::!??-;->~~>!-;&:--!!-?~!-~>+:~:*!:!~,,^,!&>>$&&&$$$$$$$$$$$$#####$$$#$$$###$$$$$?!;******!!*!;;:;;+
&&&&&&$$$$$$$$&&$$$$$$$&&$$$$$$$$$$$$$$$$&>+):-^%&&%%=??=>=>>?=%&$$$##$$$$$$$$$#$&&&&##&=?>+)!;;:^,,-&$>&&&&&$$$$#$$$##################$$$$$$&*!)*)*!*!!*!;:-:;)
&&&&&&$$$$$$$&&&$$$$$$$$$$$$$$$$$$$$&$$$$&=)>>:-&&%%=??==>+->;;)-:$!--++-%!-!$:-:?+-&+--?!-;=*!!;-^^)$&>$&&$$$$$$#$$$$$##$######$##$$$#$$$$$$$+!*)**!****!;::;;)
&&&&&&$$$$$$$$&&$$$$$$$$$$$$$$$$$$$&&&$$$$&=?))>%&&%??>>;+?`;'~-``%^.^.!`=.`.&'~,~!`&*`!+`:'*+!;::~^=$&?$$$$$$####$$$$$$$$$$$$##$$$$$&$$$$$$$$=!)))****!!!;:;;;*
&&&&&&$$$$$$$$&&&$$$$$$$$$$$$$$$$$&&&&&$$$$$&=%&%%%=??)--+&'~';,~`>^'.-*`?`^`%'.'!!`&*`:=..)$+;!~,--&$%%$$$$$$$$##$$$$&&$$$$$$##$$$$$&&$$$$$$$&**))***!*!!;:;!;*
&&&&&$$$$$$$$$&&$$$$$$$$$$$$$$$$$&&&&&&&&$$&&%%%%%=?>!--;)&,'`)'-`*^.^,*`+`:`+'~,^!`&*`;=)-`)>:)-,^)$$=&$$$$$$$$##$$$$&&&$$$$$$$$&$$$$&$$$$$$$$)**)**!!*!!;;;;;!
&&&&$$$$$$$$$$&&$$$$$$$$$$$$$$$&$&&&&$$&&&$$&%%%%%?):-:;;*%-``*`.`-^,-'!`;`,`!'^..!`!;`;+`:`;?:):^,?$$>=$$$$$$$$#$$$$$&&&$#$&&$$$&$$$$$$$$$$$$$=**)*)+**;!!;;;;;
$$&$$$$$$$$$$$&&$$$$$$$&$$$$$$$$$&&&$$$$&&&&&&%%%?!--:;;;;>+::?:>;!*!);+:*:=:*;::+>::)::>):!&+:*;~:&$?>%$$&&$$$$#$$$$$&&%$#$&&$$$%$$$#$$$$$$$$$&)***))*!;!*;;;;;
$$$$$$$$$$$$$$&%&$$$$$$&$$$$$$&&$&&$$$$$&&&&&&%=>;--;;;;::;+>>>>>>>>>>>>>>>>>=&%=?>??>>+))+&&*-:!-?$$?>&$&%&$$$$#$$$$$&%=$#$&$$$$=&$$$#$$$$$$$$$>**!*)!!;**!;;;;
$$$$$$$$$$$$$$&%&$$$$$$&&$$$$$&&$$$$&&&&&&%&&&%+--:;;;;::-:::::----------::-!+*!!;;:--~~^~;=%*--*;&$$&?$$&%&$#$$#$$$$$&%=$##$&###&&$$##$&&$$$$$$&)*!!*!!;*!!!;;;
$$$$$$$$$$$$$&%%&$$$$$$&&$$$$$&&$$$&&%&&&&%%%=)--;!;;;;:::-----------------!)!!;;::--~^^^~)+=>--*+$$$%=$$&%$$$$$##$$$$&%%##$$&##$&&$$$#$$%$$$$$$$?)!!!*!!)*!!;;!
$$$$$$$$$$$$$&&&&$$$$$$&&$$$$$&&$$$&&&$&&&&%=*--;;;;;::::-----------------*)!;!;:::--~^^^~+++=!-*%$$$%%$$&&$$$$####$$$&%=###$&#$$$&$$$##$&%$$$$$$%*!!!*!!**!!;;!
$$$$$$$$$$$$$$&&&&$$$$$&&$$$$&&$$$&&&&&&&&&%!-:;;;;;:::----------------~~))!;;;;;:-~~^,^^;)**>>:!$$$$=&$$&&$$$####$$$$&%%###$$#$$$$&&$##$&=$$$$$$$+!!!*!!))!!!;;
$$$$$$$$$$$$$&&%%&$$$$$&&&$$$$&&$$&$&&&&%%>:-:;;;;:::----------------~~-))!;;;;::-~~^,,^^))!:!?*>$$$$=&$$&&$$$$####$$$&%%###$$$$#&&&%&##$&%$$$$$$$%*;;!!!))!*!;!
$$$$$$$$$$$$$&&%%&$$$$$&%&$$$$&&$$&&&&&%=)--:;;;;:::---------------~~~:+*!!;;;;:-~~~^,^^:>):-:*?%$$$$=&&&%&$$$$#$##$$&&%%###$&$#$&&&%&$#$$%$$$$$$$&+;;;;!**!*!;!
&$$$$$$$$$$$&&%%%$$$$$$&%&$$$$$$$$$&&%%>*--;!!;:::---------------~~~~;?*!!!!;;;:-~^^,,^^+>+!;;:*$$$&&=&&%%&$$$#$$$$$$&&%%###$&&&&&&&%%$#$$&&$$$$$$$=!;;!!**!*!;!
&$$$$$$$$$$$$&%%%$$$$$$&&&$$$$&$$&$&&%??--:!!;;:---------------~~~~-*=?!!!!!;;;-~^^^^^^:>?>);!;>$$$&=%$$&%&$$$#$$$$$$&%%%##$#$&%%&&&&%$$$$&&$$$$$$$%!;!!!)*!*;;!
$$$$$$$$$$$$$&%%%$$$$$$&%$$$$$&&&&&&&=+)::;;;::------~~-------~~~~:>%%)!!!!;;;:-~^^^^^^))>>>;!*&$$$&?%$$&%$$$$##$$$$$&%%%###$$$&&%&&&%$$$$$&$$$$$$$&*;;!!**!!;;!
&$$$$$$$$$$$$&%%&$$$$$$&%$$$$&$$$&$&%?)*;::::::---~-~~------~~~^~)==%=!!;!!;;;:~~^^^^^:+)>>>!-*$$$$&?&&&&&$$$$#$$$$$$&%%%$##$$$&&&&&&&$$$$$&$$$$$$$&):;!!)*!!;;!
$$$$$$$$$$$$$%%%&$$$$$&%%&$$&$$$$$$&>?>!!:::::----~-------~~~~~;?%=%%>!;;!!;;;-~~^^~^^+>))+>)~>$$$$$?&&&%&$$$##$$$$$$&%%%$##$$$&&&&&&%&$$$$&&$$$$$$&+;!***!!!::;
$$$$$$$$$$$$$%%%&$$$$$&%%&&&$$$$$$&?)+>)+;:::--------------~~:+>%%%%%+!!!!!!;:-~~^^~^!>>)*)>?:%$$$&=+&$&%&$$###$$$$$$&%%%$##$$$$&&&&&&&$$$$&&$$$$$$$+!!!!!!!!;::
$$$$$$$$$$$$$&%%&$$$$$&%%&&&$$$$$$=++++)+)::--::----------~:)=?+=%&%=*!;!!!!;-~~~~~~-++>*;;+>>$$$$=>+&&&&&$$$##$&#$$$&%%=$$#$$$$&&&&&&%$$$$&&$$$$$$$+!!*******!!
&$$$$$$$$$$$$&&%&$$$$$&&%&&$$$$$$%>++))+!)!--------------:)>>=?)>%&%=!;;;;!;:-~~~~~~)++>!;-!*=$$$$$?=$&&&$$$$#$$&#$$$&%%%$$##$$$&&&&&&%$$$$&&$$$$$$$);********)*
&$$$$$$$$$$$$&&%&$$$$$&%%&&$$$$$&>+++))));*;-----------:)>+++>?+>?%=?;;;;;;::-~~~~~*++>>!!:-+&$$$$$%&$&&&$$$$#$&&#$$$&%==&$#$$$&&&&&&&%$$$$$&$$$$$$$+!****)*****
&$&&$$$$$$$$$&&&&$$$$$&%%&$$$$&&?>++)))))*:!:--------!>>?+))++%?????>;:;::::--~~~~:++)>>**!~)$$$$$$>&&&%&$$$$#$%&$$$$%%%%&$##$$&&&&&&&%$$$$$&$$$#$$$?*))++++)+)+
&&&&$$$$$$$$$&&%&&$$$$&%&$$$$&%>>++)))))))!::;-~---*=$$??+)+>+==>>??+:::::---~~~~~*++)+>)!*;?$$$$&&+$&%%%$$$$#$%&$$$$%%=%&$#$$$&&&&&$&%&$$$$&&$$##$$=)))+++++)++
&&&&&$$$$$$$$&&%&$$$$$&&&&&&&%>>+++))))))+)*;::-:*=$$$$=?)))>)>%=???+;-::--~~~~~~-)+))*>+:!*&$$$$&&+$&%%&$$$$$&%$$$$&%==%&$$$$$&&&&&&&=&$$$$&&$$$#$$%++)+++++)))
&&&&&&&$$$$$$$$&&$$$$&&&$$&&&>+++++)))))*!)+))!!!?$$$$$&?+*)=))??=??+)*!;::--~~~~:+)))*+>;;>$$$$$&%>$%%&&$$$#$%%#$$$&%%%%&$#$$$&&&&&&&=&$$$&&&$$$$$$%++++))++)))
&%&&&$$$$$$$&$$&&$$$$&&&$$&&=+>+++))+))*!!!*++>>&$$$$$$$%>))?>+?=?=?>+)!;!****!***++)))*>):>$$$$$&%=&%%&&$$$#$&%#$$$&%%%%&$###$&&%&&&&?&$$$&&&$$$$$$&++))))++)))
%%&&&$$$$$$&&&&&%$$$&%%&$$&&?)>++)))))*;;!!!*%$$$$$$$$$$%>+)>>>?==?>>>+>+*!;!!;;::;!)>>)+>:%$$$$$&%%%%%&&$$$#&%&$$$$&=%%%&$##$$&&&&$&=?&$$$&%&$#$$$$&>++)))+))*)
%%&&&&&$$&&&&&&%%$$$&&%%&&&&?+>++))))*!;!;;)&$$$$$$$$$$$$%?++?=???%>)+>)!!;;;;::----:;+?++)$$$$$$&=%%=%&$$$#$&%&$$$$&%%%%%$###$&&%&&%=?%$$$&&&$$$$$$&>+++))))***
%%%&&$&&$&&&%%&%%$&$&&=%&&&&%+>>+)+))*!!;;)&$$&&$$$$$$$$$$%?)>?=???+>>*!;;;;::------:::;))?$$$$$$$?&%%%&$$$#$&%&$$$$%%%%&%$###$&&%&&%&%%$$$&&%$$$$$$$>++)))))*!!
%%%&&&&&&&&&%%%==&%$$&==%%%&&>>>>++));;!!!?$&&&&&&&$$&&&&&$=>)>>?>?>?*!;;;;::::-----:::-::=$$$$$$$>&%%&&$$$#$&%&$$$$&%%%&%$##$$$&&&%%&%%$$$$&%$$$$$$$>++)))))***
=%%&&&&&&%&&%%%=?=??=?>?=?>+>?>>+++)*;:;::*)++)!!!*+>+)!;!)>>+>>>>?>+*!;;;;;:::::------:-:&$$$$$$$?&%%&&$$$$$%%&&$$$%%&%&%&##$$$$&&%%&&%$$$$&%&$$$$$&+)++)))))**
%%%&&&&&%%%%===++))))*+>>))>)+?>+++)*::--~:+>>>>?=?+)+>;~--::!)>>>?>)*;;;;;;:----:-----::!#$$$$$&%+=&%&&$$$$$%%&&&$$%%&%%%&##$$$$&&%%&&%$$$$&%&$$$$$&>*))))*****
=%&&&&&%==?==>))******?=>>?>>)=>>++)*;:--~-*++++>?=??>>>:;;:--~-;)>)*!;::;**!:-:::::-----+#$$$$$??%$&&&&$$##$%%&$&$&%%&&&%&$##$$$&&%%&&%$$$$&%&$$$$$&>*)***))***
%%&&&&&%%??>)+)*))+))*)%?????+>?>++)!;------+*)>>=>?>>)+))*!:-----;*+)!;!+>!;*::;:;;;!:-^=$$$$$&&?=&%&&&$$##$%%&&$$&%&&&&%&$###$$&&=%&&%&$$$&%&&$$$$$?*))*****))
%&&&&&&%%?+>?==>=%%>+++====?>>>?>++)!;-~---~*+)++>++**)+)))*!!;:::--:;!!+==!:*;;;;!*)**;;&$$$$$&$>%&%&$&$$##$%%&$&$&%&&&&%&###$$$&&%%&&=$$$$$%&&$$$$$>;!********
%&&&&&&%=>=%%%=?%%%=>>>?%%%=?>>?>++)!;:--~~~:>*)+)*!!!!)+))***!!::::::;:+=+-:*;:;;!***+*+$$$$$$&$>&&&&$&$###&&&$$&&&%&&&&%&$##$$$&&%%&&=&$$$$%&&$$$$$?;!))***!;;
%&&&&&&%%%%%%%%=&&%%?>>>&&&%=??=>++)!;:--~~-~++++)**!;;!))))***!!;;:::::*>;!!!!-~!)**--:>$$$$$$$$>&&&&$$$##$&&&$$&$&%&&&&%%$$$$$$$&%%&&=$$$$$%%&$$$$$=*++>))+)))
&&&&$$&%%%%%%%%=%%%%=>>>%&&&%=?=>++)!:----~-~!+++)))***!!*!!*))***))!--!!);;!!;*!)+!--~~=$#$$$$$$+&&&&&$$$$$&%&$&&&&%&&&&%%$$$$$$$&%%&&=&$$$$&%&&$$$$%)>>+))+))+
%&&$$$$&%&&%%%%=&%=%=?>>?%&%%===?>>)*;-------:>++++)****!;::;!!;!)!--;*+>=>!!!;!)**!!!:-&$#$$$$$$>&&%&&$$$$&&%&$&&&%%&&&&&%$$$$$$&%%&&%=&&$$$&&&&$$$$%)>>+++++++
%&$$$$$&%&%=%%%=%%=%=?>>>=&&%====>>)*;:-~--~~~+)++++))*)*;::--~~~:::;*++===*!!!:*)*!!*;;$$$$$$$$$>&&&&$$$$$&&%&$$&&%%&&&&%%&#$$$$&%%&&&=&&$$&&%&&$$$$&)+>>>>>+))
%$$$$$&&&%%%=%=%%=%%%=>>>>=%%=%==>>)*!:--~-~~~)+))+++))))***!:-:;!!!)))!?==+!!!!-:!***:*$$$$$$&$$>&&&&$$$$$&&%&&&$&%%&&&&%%&#$$#$&%%&&&?&&$&&&&&&$$$$&*>>>??>>>+
&$$$$$&&%%%%=%=%==%%%=>>>>>==%%%%?>+*!;---~~~^)>>>+>++++++))***!!**))*!;?=?=)!!!!:----^>#$$$$&&$&+$&%&$$$$$&&%&$$$&%%&&&&&=&#$$$$&%%&&%?%&$&&$&&&$$$$&>>>>>>>>>+
&$&$$$&&%%%%%%?%%%%%%=?>>>???=%%=?>+)!;----~~^*?>>>>>>>+++++>>>+))))*!!)???=?!!!!!!!!!~%#$$$$&%$$?&&&&&$$$$&&%&$$&&%%&&&&&%&$$$$$%%&&&%?&&$&&$&&&$$$$&=>>>>>>>++
&&&$$$$&&%%=%%=%%%%%%%=>?==????==?>+)*!:----~^!>>>>>>>?>>++>>++)+)))+>????=%=>:!!!!!!*;&$$$$$&&$?>)&&&&$$$$&&%&$$&%%%&&&$&=&#$$$$%%&&&%>&&$&&$&&&$$$$&%>?>?>>>>>
&&&&&$$&&&%%%%&%%&%%%%=>=%%=??==%%?>)*!:----~~!>+>>>>>==??????????>>???=?===?>+::;!!*+>$$$$&&&&$?>%$%%&$$#$&%%&$$&%%%&&$&&=&$$$$&%%&&&%?%&&&&$&&&$$$$&&???>>>>>>
&&&&&$$&&&&%&%&%%%%%%%=>=%&%??%&&%=++*!;-----~;?>+>?=======??==??>>++>>++?==>>??*!**++>$$$&&&%&&&?&&&&$$$#$&%%&$$&%%&&&$$&=&$$$$%%%&&&%?%&$$$$&%&&$$$&&>>>>?>>>+
&=%%%&%%>=%=%&=%==?=%%=>=%%%==%&&%%>+)*;-:---~:=????>)+>>????=?>>>++>>+>?====>)+>>+)!;)$$$$&&%&&&>&&&&$$$#$&%%&$$%%%%&$$$&=&$$$$%%%&&&%?%$$$&$&%&&$$$&&?>>>>?>++
&????>=??>>????>=++>>==>?=====%%%%%?+)*!::---~:???===>+)********!***)>??=?+>?+>++);;;:+$$$&&%%&&&?$&&&$$$#$%=%&$$%%%&&$$$%=&$$$$%%%&&&%?%$$$&$&%&&$$$&$?>>>?>>++
&====???=?>?=?>??????==????===%%%%&=++**::---~:======%=?>>++++++++>?=%%%=>+>+))**::!**%$$$$&%%&&%%&&&$$$$#&==%&$$%%%%&$$&%%&$$$$%%&&&%%?%$$$&$&%&$&$$&$?>>>>?>++
&&&&&%=&$&=%%%%&&%%%%??%>?>>>%&%&&&&?+)*!:---~-%%=======?==?????=%%&%%%&=>>+)****!;>&&&$$$&&%&&%%%%%&&&$$#&==%$$&%%%%&$$&%=$$$$$%%&&&%%?%$&$&$&%&&&$$$&?>>>>>>>+