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