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