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