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