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