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