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