######################################################################################################################################################
############################################################@@@@&&@@&&@@@@WW##########################################################################
######################################################WW@@&&%%%%%%%%%%%%%%&&&&WW######################################################################
##################################################&&%%%%%%%%$$$$$$$$$$$$$$$$%%%%%%WW##################################################################
################################################&&%%%%%%$$$$}}$$$$$$$$$$$$$$$$$$$$%%$$&&WW############################################################
##############################################@@%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$############################################################
##############################################$$%%$$$$$$$$$$$$}}$$}}}}}}}}}}$$$$$$$$}}$$$$$$@@########################################################
############################################$$%%$$$$$$}}}}$$@@@@@@&&%%}}}}$$$$$$}}}}}}}}$$$$$$$$######################################################
############################################$$$$$$$$$$$$@@@@@@@@@@@@@@@@@@}}}}}}}}}}}}$$$$}}$$}}@@####################################################
############################################%%%%$$$$}}@@@@@@@@@@@@@@@@@@@@&&}}}}}}}}}}}}}}}}}}$$%%####################################################
##########################################@@%%$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@&&!!}}}}}}}}}}}}}}}}$$##################################################
##########################################&&%%$$}}WWWW@@@@@@@@@@@@@@@@@@@@@@@@@@}}}}}}}}}}!!}}}}}}}}##################################################
##########################################%%$$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}}!!}}}}}}!!}}}}$$WW################################################
##########################################%%$$&&WW@@@@@@@@@@@@@@@@&&$$@@@@@@@@&&&&%%}}}}}}}}}}}}}}}}@@################################################
##########################################%%}}WW@@@@&&}}@@@@@@@@%%!!!!!!$$&&&&&&&&&&&&}}}}}}}}}}}}$$%%################################################
##########################################$$%%@@@@$$!!!!%%@@@@@@$$!!!!!!!!@@&&&&&&&&&&$$!!}}}}}}}}}}&&WW##############################################
##########################################%%&&@@@@!!!!!!$$@@@@@@&&!!!!!!!!&&&&&&&&&&&&%%}}}}}}}}!!}}@@@@##############################################
##########################################%%@@@@@@!!!!!!$$@@@@@@@@%%!!!!!!%%&&&&&&&&&&&&%%}}}}}}}}}}%%%%@@WW##########################################
##########################################$$WW@@@@!!!!!!%%@@&&@@@@&&!!!!!!%%&&&&&&&&&&&&%%}}}}}}!!}}%%%%@@@@##########################################
##########################################$$WW@@&&!!!!!!&&@@&&@@&&&&&&}}}}&&&&&&&&&&&&&&&&}}!!}}}}}}&&&&@@&&##########################################
##########################################$$WW@@@@!!!!!!@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}}!!}}}}}}&&&&@@&&##########################################
##########################################@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$!!}}}}$$%%&&&&&&##########################################
############################################&&@@@@@@@@@@&&&&%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&$$!!}}}}$$&&&&&&&&##########################################
############################################}}WW@@@@@@&&&&%%%%%%%%$$&&&&&&&&&&&&&&&&%%&&&&$$!!}}}}%%&&&&&&&&##########################################
##########################################@@$$@@@@@@@@&&&&%%%%$$$$$$%%&&&&&&&&&&&&%%%%&&&&}}!!!!$$%%&&&&&&@@##########################################
######################################WW&&&&%%$$@@@@@@&&&&%%$$$$$$$$%%&&&&&&&&&&%%%%%%&&&&!!}}}}$$%%&&&&@@############################################
######################################&&&&&&%%}}&&@@&&&&&&%%$$$$$$$$&&&&&&&&%%%%%%%%%%&&&&!!}}}}%%&&&&&&WW############################################
######################################&&&&%%@@%%}}@@@@&&&&&&&&%%%%%%&&&&&&&&&&&&%%&&%%&&$$}}}}}}%%&&&&&&##############################################
######################################&&&&&&&&&&&&$$&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%&&!!}}}}}}####@@@@@@##############################################
######################################&&&&&&&&&&&&$$$$@@&&&&&&&&&&&&&&&&&&%%%%%%%%&&%%!!}}%%@@########################################################
######################################&&&&&&&&&&&&%%%%$$@@@@&&&&&&&&&&&&&&%%%%%%&&}}}}$$@@############################################################
######################################WW&&&&&&&&&&%%%%$$&&&&&&&&&&&&&&&&&&%%&&&&%%!!!!}}WW############################################################
##########################################&&&&&&&&%%%%######WW@@&&&&&&&&&&%%$$}}!!!!!!}}&&############################################################
############################################WW@@@@##############$$}}}}}}!!!!!!!!!!!!!!!!$$$$!!}}%%@@##################################################
##############################################################&&!!!!!!!!!!!!!!!!!!!!!!}}!!!!!!!!}}$$##################################################
############################################################!!}}$$$$}}}}!!!!!!!!!!!!}}}}!!!!!!!!!!!!}}%%##############################################
##########################################################&&}}}}%%$$}}}}}}}}}}}}}}}}}}}}}}!!!!!!!!}}}}}}##############################################
##########################################################$$!!!!%%$$$$}}}}}}}}}}}}}}}}}}}}!!!!}}!!}}}}}}##############################################
########################################################&&}}!!$$%%%%$$$$$$}}}}}}}}}}}}}}}}!!!!@@!!!!}}}}WW############################################
########################################################}}}}!!$$$$%%%%$$$$$$$$$$}}$$}}$$}}!!!!$$!!!!}}$$&&############################################
########################################################}}}}!!%%$$$$$$$$$$$$$$$$$$$$$$$$}}!!!!!!!!!!}}}}%%WW##########################################
######################################################&&}}}}}}%%%%%%%%$$$$$$}}$$$$$$$$$$!!!!!!!!}}}}}}}}$$&&##########################################
######################################################%%}}}}$$&&%%%%%%%%$$}}$$$$$$$$$$$$!!}}}}!!}}}}}}}}$$&&##########################################
######################################################$$}}!!%%%%%%%%%%$$$$$$$$$$$$$$$$}}!!}}}}!!!!}}}}$$$$&&##########################################
######################################################}}}}!!&&%%%%%%%%$$$$$$$$$$$$$$$$}}!!}}}}!!!!}}}}}}%%%%##########################################
######################################################}}$$%%%%%%$$$$$$$$$$$$$$$$$$$$$$!!!!}}}}!!!!}}}}}}%%%%##########################################
####################################################&&@@&&&&%%$$$$$$$$$$$$%%$$$$$$$$$$!!!!}}}}!!}}}}}}}}$$%%##########################################
##################################################@@&&&&&&&&%%%%$$$$$$$$$$$$}}}}}}}}$$!!!!}}}}!!!!}}}}$$$$%%WW########################################
##############################################&&&&%%%%%%%%%%%%%%$$%%$$$$$$$$$$%%$$$$$$}}}}!!}}!!!!}}}}}}$$%%@@########################################
############################################&&%%%%%%%%%%%%$$%%%%$$$$%%%%%%%%%%%%$$$$$$%%%%$$$$$$!!}}}}}}$$$$&&########################################
##########################################WW&&%%%%$$$$$$$$$$$$$$$$$$%%%%&&%%%%%%%%%%%%%%%%$$$$}}!!}}}}}}}}$$%%@@######################################
##########################################&&%%%%%%$$$$$$$$$$$$$$$$$$%%&&%%%%%%%%%%%%%%%%%%$$$$}}!!}}}}}}$$$$$$@@######################################
######################################@@&&%%%%%%$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%%%%%%%%%%%%%%%%%}}%%!!}}}}}}$$$$&&######################################
################WW&&&&&&&&@@##########&&%%%%%%$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%%%%%%%%%%%%%%%}}@@}}}}}}}}$$$$&&######################################
##############&&&&%%%%%%$$%%$$%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$}}}}&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%$$@@}}}}}}}}}}$$%%WWWW@@################################
############WW&&&&%%%%$$$$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$}}$$&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%}}}}$$}}$$&&@@@@@@################################
############&&&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}$$&&%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%&&WWWW!!}}}}}}$$&&@@@@@@@@@@############################
############&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$}}$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%@@@@@@@@$$}}}}%%@@@@@@@@@@@@@@@@########################
############&&%%%%$$$$$$$$}}}}}}}}}}}}}}$$}}}}$$$$}}$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$%%%%&&@@@@WWWW$$$$&&@@@@@@@@@@@@@@@@WW######################
############&&%%%%$$$$$$$$}}}}}}}}}}}}}}}}}}}}$$}}}}}}%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$%%%%%%%%&&&&@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@####################
############@@&&%%%%$$$$$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%%%%%%%%%%%%%%%%%%%$$%%$$$$$$$$%%%%%%%%&&&&&&@@@@@@@@&&&&&&&&@@@@@@@@@@@@@@####################
############WW&&%%%%$$$$$$}}$$}}}}}}}}$$$$%%&&%%%%&&&&&&%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$%%$$%%&&&&&&@@@@WWWWWWWWWWWW@@@@&&&&@@@@########################
##############&&%%%%$$$$$$$$}}}}}}$$%%&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%$$$$$$$$%%%%$$&&&&&&@@@@WWWWWWWW####WW####WWWWWWWW########################
##################&&%%%%$$$$$$&&&&%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%&&@@@@WW######################################################
##################WW%%%%$$$$%%&&&&%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%&&&&@@@@########################################################
######################WW@@%%&&&&%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%@@@@############################################################
########################@@&&&&&&%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%&&&&@@@@############################################################
##########################WW&&%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%&&@@@@WW##############################################################
############################&&&&%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%&&@@@@################################################################
############################@@&&%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&@@WW##################################################################
##############################&&&&%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&@@WW####################################################################
##############################@@&&%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%&&@@@@######################################################################
################################WW&&&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%$$@@##########################################################################
##################################@@&&%%%%%%$$$$$$$$$$$$$$$$$$$$%%%%$$$$%%WW##########################################################################
######################################&&&&%%%%$$$$$$$$$$$$$$%%$$$$$$%%@@##############################################################################
##########################################@@&&%%%%%%%%$$$$$$$$%%&&@@##################################################################################
############################################@@&&&&%%%%%%%%%%&&@@######################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################