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