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