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