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