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