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