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