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