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