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