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