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