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