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