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