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