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