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