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