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