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