---------------------------+*#####################################*=+*######**#########################%%%%%##+=+======= -------------------------=+#######################################+=+*#######*####################%%%%###%%%%##+======== ------------------------=*##############%###########***##########*+++*#######**#######%%%%%#######%%%%%%##%%%%%#+======= -----------------------=*##############%#################********++==**####*##*########%%%%%%######%%%%%%##%%%%##+====== ---------------------==*##############%###############******+++++==-=+++**##############%%%%%%#####%%%%%%%%%%%%%%#====== --------------------==*##############%%#############**+++++++++===---=++++*#######%%####%%%%%%%####%%%%%%%%%#%%%%#*===== -------------------==*#####%%%#####%%%%#############*+++++++=====----==+++++*######%%%%##%%%%%%%####%%%%%%%%%%%%%%#+==== -----------------===*#####%%%%####%%%%%############*++++++====-------====++++*######%%#####%##%%#####%%%%%%%%%%%%%%#==== -----------------==*####%%%%%####%%%%%############*++++++====--------=====++++*######%#########%%####%%%%%%%%%%%%%%#*=== ----------------=++###%%%%%%%###%%%%%%############*++++====-----------====++++*################%%#####%%%%%%%%%%%#%%#=== ---------------==+###%%%%%%%###%%%%%%####%%%%%###*++++=====-----------====+++++*#######################%%%%%%%%%%#%%#+== --------------==+###%%%%%%%%%%%%%%%%###%%%%%%####++++=======---------=====+++++*########################%%%%%%%%%%%%#*== -------------==+*###%%%%%%%%%%%%%%#####%%%#%%###*++++===========-----======+++++########################%%%%%%%%%%%%##+= -------------==*###%%%%%%%%%%%%%%##%##%%%#######*++++======================+++++*#######################%%%%%%%%%%%%#*+= ------------==*####%%%%%%%%%%%%%##%%#%%%########*+++========================++++**#######################%%%%%%%%%%%##+= -----------==+#####%%%%%%%%%%%%%#%%%%%%%#####*##*+++========================++++++*######################%%%%%%%%%%%%#*= -----------=+*#####%%%%%%%%%%%%%%%%%%%%%%####*##*++===============---=======++++++*#####################%%%%%%%%%%%%%**+ ----------=++#%%#####%%%%%%%%%%%%%%%%%%######**##+++=============-----======+++++++*####################%%%%%%%%%%%%%#++ ---------=++#%%%%%#######%%%%%%%%%%%%%###########*+++=============----======++++++++*###################%%%%%%%%%%%%%%** --------==+*#%%%%%%###########%%%%%%######%#######*++++======================+++++++*#####%###%%%#####%%%%%%%%%%%%%%%%#+ --------=+*#%%%%%%%%#######%%%%%%%####***#%######%#*++++============++=+===+++***+++*#####%%##%%%%%###%%%%%%%%%%%%%%%%#+ -------=++##%%%%%%%%%%%%%%%%%%%%###***+++*##*#######**+++++======++++++++******#******#%%%%%##%%%%%%#%%%%%%%%%%%%%%%%%%* ------==+*#%%%%%%%%%%%%%%%%%%%%##***+++++*###**##*####*++++=====++++++++*******#******##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# -----==+*#%%%%%%%%%%%%%%%%%%%%##***********##*+*##***#**++======+++++++++++++++**+++++*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# -----==*#%%%%%%%%%%%%%%%%%%%%%#*******########*+***++++++++====++++++++++++++==+*+++++**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# -----=+*%%%%%%%%%%%%%%%%%%%%%#****########%%#*###*+++++++++=====++++++++++++++++*++++++**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# ----=+*#%%%%%%%%%%%%%%%%%%%%%#*++**#####*#####%%##*++++++++====+++++++++***###*#####*****##%%%%%%%%%%%%%##%##%%%%%%%%%%* ---=+*#%%%%%%%%%%%%%%%%%%%%%#***********************+=+++++====+++++++**##*#%%#%%%#####***##%%%%%%%%%%%######%%%%%%%%%#* ===++##%%%%%%%%%%%%%%%%%%%%%#***++++++++++++++++++++==+++++====++++=++*********####*#####***#%%%%%%%%#######%%%%%%%%%%#* ===+*#%%%%%%%%%%%%%%%%%%%%%#***++++++++++++++++++++==++++==--==++++==+++++++++++++*******+++*#%%%%%%%%%###%%%%%%%%##%%## -=+*#%%%%%%%%%%%%%%%%%%%%%##***+++++++++++++++++++++++++=-----==++++=++++++++++++++++++++++++*#%%%%%%%%%%%%%%%%%%%##%%#* +***#%%%%%%%%%%%%%%%%%%%%%#***++++++++=========++++++++==----===++++===========+++++++++++++++*#%%%%%%%%%%##%%##%%##%%#* *+**#%%%%%%%%%%%%%%%%%%%%##***++++++++=========+++++++==------===+++===========+++++++++++++++*##%%%%%%%%%######%##%%##+ =++*#%%%%%%%%%%%%%%%%%%%%#****++++++++=========+++++++==-----=====+=================++++++++++**#%%%%%%%%%%%##*#%%%%%#*+ =++*#%%%%%%%%%%%%%%%%%%%%#***+++++++++==========++++++===---=====++=================++++++++++**##%%%%%%%%%%%###%%%%#**+ =+++%%%%%%%%%%%%%%%%%%%%%#***+++++++++=========++++++=====-=======++================++++++++++**###%%%%%%%%##%%%####*+++ =++*#%%%%%%%%%%%%%%%%%%%%#***++++++++++======+++++++============-==+++==============++++++++++***##%%%%%%%%###%%%##*++++ ==+*#%%%%%%%%%%%%%%%%%%%#****+++++++++++++++++++++++======-=========++==============++++++++++***###%%%%%%%%#%%%%%#*++++ ==+*#%%%%%%%%%%%%%%%%%%%#****+++++++++++++++++++++++++++======+++++++++=============++++++++++***##%#%%%%%%%%%######*++= ==+**#%%%%%%%%%%%%%%%%%%#***+++++++++++++++++++++++++**+++++++++++++++===++++=======++++++++++****#%%%%%%%%%%###**###+++ ===++*%%%%%%%%%%%%%%%%%%#***++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****#%%%%%%%%%####***##*++ ===+=+#%%%%%%%%#%%%%%%%%%#**++++++++++++++++++++++++++===+++==+++++++++++==+++++++++++++++++++****#%%%%%%%%%###****##*+* -==+=+*#%%%%%%%%%%%%%%%%%#**+++++++++++++++*++++++++++++++++=++++++++++++++++++++++++++++++++++**##%%%%%%%%###*****###*+ -==+==+*#%%%#%%%%%%%%%##%%#*+++++++====++**#*************+++*********++++++++++++++++++++++++++**##%%%%%%%%###*****##*++ ====+=++*#%####%%%%%%%###%#*++++++++====++**###*************************###*+++=+++++++++++++++**##%%%%%%%####*****##*++ ====+++*##%###%%%%%%%%###%%#*++++++++====++****************************#***+++=====+++++++++++**##%%%%%%%%###***++*#*+++ +**+++*##%%###%%%%%%%####%%%#*++++++++==++++************++++*************++========++++++++++**###%%%%%%%%##****+*##*+++ ==+***#%%%###%%%%%%%%####%%%%##**++++++++++++++**********+++**********++++========++++++++++**###%%%%%%%%##*********++++ ===+*##%%%#%%%%%%%%%%###%%%%%%%#***++++++++++++++++++++++++++++++++++++++=======+++++++++++**###%%%%%%%%####*******+++++ ====*##%%%#%%%%%%%%%%###%%%%%%%%%#***+++++++++++++++++++++++++++++++++++======+++++++++++**####%%%%%%%#####*******+++++* **++*##%%##%%%%%%%%%%%##%%%%%%%%%%##***++++++++++++++++++++++++++++++++++===+++++++++++***#######%%%%##%#****##**+****** +**##%%%%###%%%%%%%%%%%%%%%%%%%%%%%%#****++++++++++++++++===+++++++++++++++++++++++++***################****#**********+ ++*##%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%#****++++++++++++++======++===+++++++++++++++***#################***##************ ***#%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%##***++++++++++++++==========+++++++++++++***####**############***#************** ***##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**++++++++++++++========+++++++++++****###****############******************* ==+*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**+++++++++++++++++++++++++++*****###*******###########******************** ===+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%##***++++++++++++++++++++******###****+++***###########******************** ===+*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####%%###***********+++********####****+++++****#####%#####******************** ====*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########%%%%######**********######***+++++++++***###%#%%%%###******************** ===*#%%%%######%%%%%%%%%%%%%%#######%%%####****########%############***++++++++++++++***##%%%%%%%%##******************** ==+#%%#########%%%%%%%%%%%%##*******#%#####********************++++++++++++++++++++++**##%%%%%%%%%%#*********#********** =*#%####%%%%%%%%%%%%%%%%%%##*++==+#%%%#####***++*****++++++++++++++++++++++==+++++++***#%%%%%%%%%%%%#*******#####******* *#####%%%%%%%%%%%%%%%%%##%#**+==+#%%%%#**###*++++***++++++++++++++++++=======+++++++**##%%%%%%%%%%%%%#***############### ###%%%%%%%%%%%#%%%%%#######**+=+#%%%%##**###**++++++++++++++++++++++=========++++++**##%%%%%%%%%%%%%%##*################ #%%%%%%%%%%%%%%%%%%%######**+++*%%%%%#****##**++++++++++++++++++++===========++++**###%%%%%%%%%%%%%%%%################## %%%%%%%%%%%%%%%%%%%####*##**++*#%%%%##****##**+++++++++++++++++++============+++*###%%%%%%%%%%%%%%%%%%%#################