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