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