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