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