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