####################################################################################################
####################################################################################################
####################################################################################################
####################################################################################################
####################################################################################################
####################################################################################################
###############################################@@@@@@@@@############################################
#########################################&@@@@@@@@@@@@@@@@@@@@######################################
#####################################&@@@@@@@@@@@@@@@@@@@@@@@@@@@###################################
###################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################################
#################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################################
###############################@@@@@@@@@@@@@@@@@@@@#@@)@@@@@@@@@@@@@@@##############################
##############################)@@@@@@@@@@@@@@@@@@( @@/ @@@@@@@@@@@@@@@@############################
##############################@@@@@@@@@@@@@@@@@ /@@* @@@@@@@@@@@@@@@@###########################
##############################@@@@@@@@@@@@@@/ @@@ @@@@@@@@@@@@@@@###########################
###############################@@@@@@@@@ @@@,@@@ ,.@@@@ #@@@@@@@@@@@############################
###############################@@@@@@@@ / @@@@@ @ @@@@ .@@@@@@@@@@#############################
###############################@@@@@@@@@ /@. ),@@@@@@@@@@##############################
###############################@@@@@@@@@@ @ )@@@@@@@@@@################################
##############################@@@@@@@&&@@## @@) @@@@#)##################################
###############################@@##@@@##########)/../##@##@&########################################
###############################)&#############. @ ###( ,#####################################
#############################################* @@ ####################################
############################################# @@ ####################################
#############################################(@@@@@@...(@@@@@@@@####################################
#############################################@@@@@@@@@@@@@. ####################################
############################################@@@@@@@@@@@@@@. ####################################
#######################################&@@@@@@@@@@@@@@@@@) ####################################
##################################@@@@@@@@@@@@@@@@@@@@@@@# .####################################
##############################@@@@@@@@@@@@@@@@@@@@@@@@@@@( #####################################
#############################@@@@@@@@.@@@@@@@@@@@@@@@@@@* #####################################
##############################@@@@@&##/ @@@@@@@@@@@@@@@ *######################################
###############################@@@ )###)@@@@@@@@@@@@ )#######################################
################################# ,####&@@@@@@@@@ /@@&######################################
################################ ####*.@@@@@@ @@@@@######################################
###############################, .@@@ @@########################################
############################### ##########################################
############################## / #######################################
############################# .# #, #). /#######################################
############################# ### ####(*##########################################
############################# .#### (################################################
############################## (### .#################################################
##############################( ### ##################################################
###############################. ### ##################################################
################################ .####. ################################################
################################# .###### .##############################################
#################################, /####### (#############################################
################################## ###### #############################################
################################## #######( #############################################
##################################/ ,########## .############################################
################################### .###########, ###########################################
################################### ############# ##########################################
################################### ############## ##########################################
###################################################* ##########################################
#################################################### .##########################################
#################################################### (, *###########################################
####################################################################################################
####################################################################################################
####################################################################################################
####################################################################################################