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