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