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