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