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