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