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