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