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