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