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