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