##########88###O##########################################################################################################################################
########OOOO8#88##88##O8#########O########OOOO8#88###O####OOO888###888O#8####88###8OO8########8OOO####O8###8OOOO8#########################################
########8O8###O###88##O8########8O8######8O8####O8###O##8O88O888##O8#8O#OO8##88##OO888#######8O88O###8O8###O8O8###########################################
#########88#######OO##OO########O8O######8O##88#O8###O##O8####88#O8##88#OOO##88#O8##########8O#######O8O#####O############################################
#########88#######OO#88O#######8O#88#####8OOOOO#88###O#88#####8OO8###88#O8OO#88#O#88888#####O########O#88####O############################################
#########88######88888#88######88##O#####8O#####88###O#8######8OO####88#O8#O8O8888O888O#####8#######88##O####O############################################
#########88######8##OO#8O######O#8OO8#####O#####88#8OO#O#####88OO8###88#O##8OO888####88#####8####88#O888O8###O############################################
#########8O88####O##O8##O#####8OOOO8O#####O#####8OOOOO#8O#88O#8O8OO8#8O#88##8O8#O8#8O8######O8#8O8#8OOOOOO###O####O##O##8#################################
########OOO8####88##88##8#####O8####8#####O#####8O8##8##OOO8###8##88##8#88###8##8OO8########8OO88##O8####8###8####8##8##8#################################
##########################################################################################################################################################
##########################################################################################################################################################
##########################################################################################################################################################
##########################################################################################################################################################
######################################88###############8#####################################################8############################################
########################################88##############8#################################################################################################
##########################################88#############8#################################################################88OOOOOOOOO88##################
###########################################88#############8############################################################88OOOOOOOOOOOOOO88O8###############
#############################################88###########88##############888########################################8OOOOOOOOOOOOOOOOOO##88O8############
###############################################88##########88######################################################8OOOOOOOOOOOOOOOOOOOOO8###888#######8##
################################################88##########88###################################################8OOOOOOOOOOOOOOOOOOOOOOOO8####8O8########
############################################8#####88#########8##8###############################################8OOOOOOOOOOOOOOOOOOOOOOOOOO8#####88#######
####################################################8#########8##8#############################################OOOOOOOOOOOOOOOOOOOOOOOOOOOOO#######8######
###############################################################8##8###########################################OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO8######OO#####
################################################################8############################################8OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO#888888######
#############################################################################################################88OOOOOOOOOOOOOOOOOOOOOOOOOOO8888############
####################################################################################################################8888888888888#########################
############################################################################################8888888OO8####################################################
#######################################################################################8OOOOOOOOOOOOOO#############################################888888#
######################################8888888######################################88OOOOOOOOOOOOOOOO8######################################8888888888####
###############################88OOOOOOO8888OOOOOO888##########################88OOOOOOOOOOOOOOOOOO8###################################888888#############
##########################88OOO88#################88OOO88###################8OOOOOOOOOOOOOOOOOOOOO8###############################8888####################
########################8OOOOOOOO888###################8OO8##############8OOOOOOOOOOOOOOOOOOOOOO8##############################888########################
#####################8OOOOOOOOOOOOOOOO88##################88O8##########OOOOOOOOOOOOOOOOOOOOOOO8############################88#########################888
###################8OOOOOOOOOOOOOOOOOOOOOO8#################OO8##########8OOOOOOOOOOOOOOOOOOOO##########################88################################
##################OOOOOOOOOOOOOOOOOOOOOOOOOO8###############OO#################888OOOOOOOOOOO#########################8###################################
################8OOOOOOOOOOOOOOOOOOOOOOOOOOOOO8############88########################888OOO8##############################################################
###############OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO8#########8################################8###############################################################
#############8OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO8####888##################################8###############################################################
############8OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO8888#####################################O8##############################################################
###########OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO8########################################OO8############################################8888888888#######
##########8OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO8###########################################OOO######################################################8888888
#########8OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO8##############################################8OOOO8#################################################8888#####8
#########OOOOOOOOOOOOOOOOOOOOOOOOOOOOO88#################################################8OOOOO8####################################################88888#
########OOOOOOOOOOOOOOOOOOOOOOOOOO8######################################################OOOOOOOO#####################################################88##
#######8OOOOOOOOOOOOOOOOOOOOO88#########################################################OOOOOOOOOOO8################################################88####
#######OOOOOOOOOOOOOOOO88##############################################################OOOOO8888888OOO8#########################################8888888888
#############################88#######################################################8OOO8###########888O888##########################888888888####8#8###
#########################88########################8888##############################8OO8####################88888888#####888#8#8888888###################
####################88########################8888##################################8OO##################################8################################
################88#######################8888######################################8O8####################################################################
############88########################888#########################################8O######################################################################
########888#####8#################8888###########################################88#######################################################################
#####88########88##############888################8#############################88########################################################################
##88##########88###########8888#################8#############################88##########################################################################
#############8OO########888###################8##############################88###########################################################################
############8OO8######888###################88#########8###################88#############################################################################
############88O8###888####################88#8########8##################888##############################################################################
#############8O##888#####################8###########8#################888################################################################################
#############88888#####################88#8#########8################888##################################################################################
############8O8######################88##8#########8###############888####################################################################################
##########8OO888####################8##8##########8#############888#######################################################################################
########888#8888##################88##8##########8############888#########################################################################################
######888#####88#################8###8##########8##########888############################################################################################
####888#####8#8O8##############88##88##########8########888###############################################################################################
##888########8888#############8###8###########8#####8888##################################################################################################
#88#########88#88O8#888#8###88###8###########8888888######################################################################################################
8###########8888888O888OO88O8##8O8888OO8888OO888##########################################################################################################
############88888888888888O88888##8O88#####8##############################################################################################################
##############8888888888OO88#88###88######88##############################################################################################################
###############88##8888O8####8###8########8###############################################################################################################
#####################88#####8###8########8################################################################################################################
####################88#####8############8#################################################################################################################
###################88##################8##################################################################################################################
##################8######8############8###################################################################################################################
#################8######8#############8###################################################################################################################
################8######8#############8####################################################################################################################
##############88######8#############8#####################################################################################################################
#############88######8#############88#####################################################################################################################
############88######8##############8######################################################################################################################
###########88######8##############8#######################################################################################################################
##########8######################8########################################################################################################################
#########8#######################8########################################################################################################################
########8#######################8#########################################################################################################################
#######8##################################################################################################################################################
######8########################8##########################################################################################################################
#####8########################8###########################################################################################################################
####8#####################################################################################################################################################
###8######################################################################################################################################################
##8#######################################################################################################################################################
#8########################################################################################################################################################
8###################8#####################################################################################################################################
####################88####################################################################################################################################
#####################8###8################################################################################################################################
############8########88##O#88#############################################################################################################################
##########################################################################################################################################################
##########################################################################################################################################################
##########################################################################################################################################################
#####88###############888##########88####################888###########################88##########################################88##################O8#
###8OOO8#####8OOO8##8O88OO##O####8#8#8OOOO8#####8OOO###8O88OO##OOOO88OOOO8##8O#######OOO8##O##8O##OOO888######OO###8888###8######8OOO##8###O8#8#OOOO8#8O##
####88######8###8O#8O####O8#OO###8#8##888######8O8#8###8####O8#888###888####8O8######O#####88#O##O##8OO8######OO###O88O8##8#####88#####O8##O#88#888###88##
####88######8####O#8#####888OOO#88#####8#######O######88####8O###8####88####8#8######O8OOO##8O8#88###OO8#####8888##888OO8#8#####OOOO88#O88OO888###8###8###
####88######8####O#O#####88#O8O888#####8######888OOOO8O8####8O###8####88###88#8#####8O88#####O8##8##8888#####O##8##O8888O88#####8888OO#OO88O888###8###8###
#####8######8###88#O8####O8#8##OO8#####8######88####8#88####O8###8####88###O##O8#####O######88O##OO8##88####8O#8O8#8888#8OO##########O#88##O##8###8#######
####8O8#####O88O8###O8##88##O##8O8#####88#####8O8888###O8##88####8####88##8OOOOO#####O8888##O#8O#O####8O88O8OOOOOO#8888##8O#####O###8##88##O8#8###8##88###
###8OO8#####OO8#####8OOO8###O###88#####88######8OO8#####OOO8#####8#####8##88###8#####OOO8##88####O#####OOO8#O8###8#8#88###8#####8OO8###88##8##8###8#######
##########################################################################################################################################################
##########################################################################################################################################################
##########################################################################################################################################################