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