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