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