####################################################################################################
####################################################################################################
####################################################################################################
####################################################################################################
####################################################################################################
####################################################################################################
#######################################################+############################################
############################################-------#####-###########################################
#########################################+---+#####-+####-##########################################
###########################++------+###+-.-##########+###--#########################################
########################+-......-+####+--+###############+-+########################################
#######################--......-#####+-.+#################--########################################
#####################+-......-+#####+.-+##################-.########################################
####################-.......-#######--+###################-.+#######################################
###################-......--#####+#+--####################..-#######################################
##################-.......-#####++#--####################+..-#######################################
#################........-######-##-+####################-..-#######################################
################-.......-+######-##-#####################...+#######################################
###############+-.......-######+-##-####################-...###+####################################
###############-.......-+######--##+###################+-..-++--++++################################
##############-........-#######--##+###########+-----..................---+#########################
##############-........+#######--+########+------++###+-.--##--########+---..-+#####################
#############+.........########-.-#####----+####-####+-..-+#--##############--.-+###################
#############+.........########+.-##---#########+-###-..--#+--################+--+##################
#############+........-#########-.-+#############--+-...-#+--+#################+.-##+###############
#############+.........#########----##############-...--##-.-###################..+#+###############
#############+.........########-+-.--###########+-...-+##-.-###################+.-#++###############
#############+.........+######+###-..-+#######+-......-++..+##################+--++-################
############+#-........-###########+-...-----....--+#+...--##################---#--#################
########+-...+-........-+############--.........-####+++.--+##############+---++-+##################
#########-...-#-........-###############++--++#######-#-.-+---##########---+#+-+####################
#########+....-+-.......-+##########################-+-.-##########+----+#+--+######################
##########-...-+-........-+########################--+.-######++---+###+--+#########################
##########+...--+-........-#######################+.----++++######+--++#############################
###########--...++-........-######################--+--######+++######################--.-+#########
############-....++-........-+###################+-#--##############################+-...+##########
#############-...-+#-........--##################-+#-+#############################+-.--+###########
##############-...-+#--........-+################+#-+#############################--..-#############
###############--...-#+-......---###############-#+-#############################-..-+##############
################+-...-+###########################-############################-..--################
##################-...--###+-----#################+##########################--.--##################
###################+-...-+##+--...-+#############+#########################+---+####################
#####################+-...-+###+-...--+#################################+-.--#######################
#######################+--...+####+--...-+###########################+----##########################
#########################+-...--+#####+--..----+#################+---+##############################
############################---...-+############++---++++++++-++####################################
###############################+--..---+############################################################
###################################+----.--+######################+---+#############################
########################################++----.----++++++++++++++###################################
####################################################################################################
####################################################################################################
####################################################################################################
####################################################################################################
####################################################################################################
####################################################################################################