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