============================================================================================++++++======================++++++++++++++++++++++++++++===================================== =============================================================================================+++========================++++++++++++++++++++++++++++===================================== ========================================================================================================================++++++++++++++++++++++++++++====++++============================= ===========================================================================================================+====================================++++====++++============================= ============================================================================++++=====================+++==+++=====================================++===================================== ===========================================================================+%++*====================+=+**+=+============================================================================= ==========================================================================+**++*=================++==++*%*=============================================================================== ===========================================================================++++#*=+=========+++**#######%#+===+========================================================================== ============================================================================+++*#**####%#####%%%%%%%%%%%%%#*+=+========================================================================== ==============================================================================+*#%%%###%%%%%%%%%%%%%%%%%%%%%*+=========================================================================== ==============================================================================+##**##*#####*####%%%%%%%%%%%%*============================================================================ ============================================================================++++*****++*******##%#*=-=++#%%%*============================================================================ ============================================================================+++**=-:=*+--=*#**#%#-:+##+==+#%#============================================================================ ===========================================================================++++*:::=%%%%==+***#%*-=@%@%+===#%+=========================================================================== ========================================================================+++*****====+##*+*#*****#+=+*****+*##*=========================================================================== ========================================================================++********+**+****++****#*#****#######*========================================================================== =======================================================================++***************+++++*******************+======================================================================== =====================================================================++********************************************++==================================================================== =====================================================================++++*********************************************++================================================================= ====================================================================+++==+**********+*****++++++++++**********************++++=========================================================== ==================================================================+++++++#%###**########******************************########**+======================================================== =================================================================+++*+++*##*************#####*****************##########%%%%%%##*+======================================================= ================================================================++++++++*#***#%%#########******************##################%#%%*======================================================= ===============================================================+++++++++*#**#%%####****##*****************####**##%%%%%%%%%##%#%%*======================================================= ===============================================================+++++*****#******######******************###****##%%%%%%%%%%#%%#%%#+====================================================== ==============================================================+++++************************************#%##*#**#%%%%%%%%%%##%%#%%#+====================================================== =============================================================++++++**++++************************##***#%##****#%%%%#%%######%%#%#*======================================================= =============================================================++++++++++++++**********************##**#%##**#*##%%%###########%%%%*======================================================= ============================================================++++++++++++++++*****************###############################%%%%#+======================================================= ============================================================+++++++++**+++++++***************###########################%%%%%%%%*======================================================== ============================================================+++++++++***************************######################%%%%%%%%#%+======================================================== ============================================================++*+++++**+*+**##********************####################%%%%%%%%##*========================================================= ============================================================-+**++++**********++*##**********##########################%%%%%%##=========================================================- =============================================================+*##************+=++***####################################%%%%#%+=========================================================- ============================================================+***###********************##################################%##*+==========================================+++******+=====-- ===========================================================+++**####*****************#######%%%%%%%%%%###################%##*+=-====================================++++++*#####**#*****- =========================================================+++*****######********#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#########*+===================================+++++*#####**#******* =======================================================++**********######***############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###########*+===============================+++++*########*#***## ==============================================--=---=++***************##%%%##############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##############%##**+==---=====================+++++*##########*#### =========================================-------==+*******+*****++++****####%%%#%#########%%%%%%%%%%%%%%%%%%%%%%%%%%%########################*++=--==-=--==========+++++**############### ==================-==---=-------------------:-=+********++++++++++++++++******##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##############%%%%###%%######**+==----========++++++**############### ----=---======----------------------:---:--=+******+***++++++++++++++++++++++++***##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##############%%%%%%###############*+=--========++++++*################ --------------------------------::::-::-=+********+++++++++++++++++++++++++++++*******#####%%%%%%%%%%%%%%%%%%%%%################%%%%%%%##################+========+++++****############## -------------------------------::::::-=+*********+++++++++=================+++++++++++**++++++++*********########################%%%%%%%%%%##############*==========+++*****############# ---------------------------------::-++**********++++========================+++++++++++++++++++++++++++++************#############%%%%%%%%%%%#######*##**===========+++*****############# ----------------------------------=+**********+++++==========================+++++++++++++++++++++++++++++*****************#########%%%%%%%%####*****#*+============++*##****############ --------------------------------=+***********+++=============================+++++++++++++++++++++++++++++++++++++++**********######%%%%%%#************===========++++*###**###**######## ------------------------------==************+++===============================++++++++******++++++++++++++++++++++++***************###%%##**********#*===========++++**####*#****######## ------------------------------=*********+***++=============================++++++++++++++****************+++++++++++******+************************#*==========++++++*#*###*##**######### -----------------------------=*************++======================-===++++++++++++++++++++++****************************************************##*=========++++++++*#*###*#*#******#### ----------------------------=**+***********+===============-==---===+++++++++++++++++++++++++++++***********************************************##*=========+++++++++***###*##******##### ----------------------------*************++================---===+++++++====================++++++++**********************************************+========+++++++++***#######******##### ---------------------------+**********##*+==================+==++++++++=====================++++++++++*************##***************************#=========++***+++++****######******##### -------------------------=+***********##+++++++++=++=++++++++++++++==========================++++++++++++*************************###*******####=-=======+++***+++++**********###*****### -------------------------=************#+++++++++++++++++*+++++++++============================+++++++++++++*********+++*******#################+========++++***++++*******########****### -------------------------+************#++++++++++++++***++++++=================================+++++++++++++********++********##############%*==========++++++**++********#######****#### ------------------------=***************++++++********+++++++==================================+++++++++++++++*****+++*********#%%%%%%%%%##%#+==========++++++**++*********###*##**##*### ------------------------*************##**************+++++==========================================+++++++++++****++++******#**##%%%%%%%%%%+=+=======+++++++++*************#******###*## -----------------------=************######*####****++++++=========---=--===========================+++++++++++****+***++**###%%%##%%%%%%%%%+==+=======++++++++**************##***#***#### -----------------------+***********#######*#*****++++++++========----=---=========================++++++++++++*********++*##%%%%%%%%%%%%%@#===+=======++++++++**************##***#***##**