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