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