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