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