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