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