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