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