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