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