########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
##########################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
@@@@  @` @@@`   @@    #   @@ @ @` @@@@ @     @@@@ @@@@ @@`@@  #@@ @`   @` @@  @@@         @ #@@@@`@@@ # @@@` @@       @@ @` @ @`@  @@ @@  @         @     @@@` @   @@@ #@@@@`    #@  @@ @@@`@@@@`  @@`  
@@@@  @` @@@`   @@    #   @@ @`@` @@@@ @`    @@@@ @@@@ @@`@@` #@@`@`   @` @@  @@@         @ #@@@@`@@@ # @@@` @@       @@`@` @`@`@  @@ @@  @         @     @@@` @`  @@@ #@@@@`    #@  @@ @@@`@@@@`  @@`  
@@@@  @` @@@`   @@    #   @@ @`@` @@@@ @`    @@@@ @@@@ @@`@@` #@@`@`   @` @@  @@@         @ #@@@@`@@@ # @@@` @@       @@`@` @`@`@  @@ @@  @         @     @@@` @`  @@@ #@@@@`    #@  @@ @@@`@@@@`  @@`  
@@@@  @` @@@`   #@    #   #@ @`@` @@@@ @`    #@@@ #@@@ #@`@@` #@@`@`   @` @@  @@@         @ #@@@@`@@@ # @@@` @@       @@`@` @`@`@  @@ @@  @         @     @@@` @`  @@@ #@@@@`    #@  @@ @@@`@@@@`  #@`  
   @ #@`#  @`  # #   @@  # #@@@@`#   #@@`   @`  @@`  @@`@@ @`@` @@@`  #@`# # #  #        @@@`   @@  #@@@  @`# #      # @@@`#@@@@@ # #@ # #@        #@    #  @`#@` #  @@`   @`   @`@ # #@  @@   @` @`@`  
   @ @@`@  @`  # #   @@  # #@@@@`@   #@@`   @`  @@`  @@`@@ @`@` @@@`  @@`@ # #  @        @@@`   @@  @@@@  @`@ @      # @@@`@@@@@@ @ #@ # #@        #@    @  @`@@` #  @@`   @`   @`@ @ #@  @@   @` @`@`  
   @ @@`@  @`  @ #   @@  @ #@@@@`@   #@@`   @`  @@`  @@`@@ @`@` @@@`  @@`@ @ #  @        @@@`   @@  @@@@  @`@ @      # @@@`@@@@@@ @ #@ @ #@        #@    @  @`@@` #  @@`   @`   @`@ @ #@  @@   @` @`@`  
   @ #@`@  @`  @ #   @@  @ #@@@@`@   #@@`   @`  @@`  @@`@@ @`@` @@@`  #@`@ @ #  @        @@@`   @@  @@@@  @`@ @      # @@@`@@@@@@ @ #@ @ #@        #@    @  @`@@` #  #@`   @`   @`@ @ #@  @@   @` @`@`  
  +@#`@#@ #@` #@#@  #`# #@#.```@#@  #.`@`  #@` +`@` +`@#`##@#@`#``@` #`@#@#@#@ #@       #``@`  #`# #```@ #@#@#@     #@#``@#`````@#@#.@#@#.@       #.@   +@ #@#`@`#@ #`@`  #@`  #@#@#@#.@ #`#  #@`#@#@`  
  #@@`@@@ @@` @@@@  @ # @@@`   @@@  @` @`  @@` # @` # @@ #@@@@`@  @` @`@@@@@@@ @@       @  @`  @ # @`  @ @@@@@@     @@@  @@     @@@@`@@@@`@       @`@   #@ @@@ @`@@ @`@`  @@`  @@@@@@@`@ @ #  @@`@@@@`  
  #@@`@@@ @@` @@@@  @ # @@@`   @@@  @` @`  @@` # @` # @@ #@@@@`@  @` @`@@@@@@@ @@       @  @`  @ # @`  @ @@@@@@     @@@  @@     @@@@`@@@@`@       @`@   #@ @@@ @`@@ @`@`  @@`  @@@@@@@`@ @ #  @@`@@@@`  
  #@@`#@@ #@` @@@@  # # @@@`   #@@  @` @`  @@` # @` # @@ #@@@@`@  @` @`#@@@@@@ @@       @  @`  # # @`  @ #@@@@@     #@@  #@     @@@@`@@@@`@       @`@   #@ #@@ @`#@ @`@`  #@`  #@@@@@@`@ # #  #@`@@@@`  
 #` @@  @@`@`#   # @@@@@  @`  #  @ #@`#@` # @`#@@@`#@@ @@`   @@@ #@`#@@      #@ @      #@ #@` @@@@@@` #@@`    @    #  @ # #    #   @@   @@@      #@@@  #`@@` #@@@ #@@@@` @`@` @`     @@@@@@@ @`@@   @`  
 @` @@  @@`@`@   # @@@@@  @`  #  @ #@`@@` # @`@@@@`@@@ #@`   @@@ #@`@@@      #@ @      #@ #@` @@@@@@` #@@`    @    #  @ # #    #   @@   @@@      #@@@  @`@@` #@@@ #@@@@` @`@` @`     @@@@@@@ @`@@   @`  
 @` @@  @@`@`@   # @@@@@  @`  @  @ @@`@@` # @`@@@@`@@@ @@`   @@@ @@`@@@      #@ @      #@ @@` @@@@@@` #@@`    @    @  @ @ #    #   @@   @@@      @@@@  @`@@` #@@@ #@@@@` @`@` @`     @@@@@@@ @`@@   @`  
 @` @@  @@`@`@   # @@@@@  @`  #  @ #@`@@` # @`@@@@`@@@ #@`   @@@ #@`@@@      #@ #      #@ @@` @@@@@@` #@@`    #    #  @ # #    #   @@   @@@      #@@@  @`@@` #@@@ #@@@@` @`@` @`     @@@@@@@ @`@@   @`  
@@`@ # # @@@@@  @@@    @ @@` @@ #@@`@@ @`@@@@@   @@  @@`@`  @  @@`@@  #     @`@@@     @`@@`#`@     @`@` @`   @@   @@ #@@@@@   @@  @ #  @  @     @`  @ @@@ @`@`  #@`   @`@@@@`@@`    @      #@@@ #  @@` @
@@`@ @ # @@@@@  @@@    @ @@` @@ #@@`@@ @`@@@@@   @@  @@`@`  @  @@`@@  @     @`@@@     @`@@`@`@     @`@` @`   @@   @@ #@@@@@   @@  @ #  @  @     @`  @ @@@ @`@`  @@`   @`@@@@`@@`    @      #@@@ #  @@` @
@@`@ # # @@@@@  @@@    @ @@` @@ #@@`@@ @`@@@@@   @@  @@`@`  @  @@`@@  @     @`@@@     @`@@`@`@     @`@` @`   @@   @@ #@@@@@   @@  @ #  #  @     @`  @ @@@ @`@`  @@`   @`@@@@`@@`    @      #@@@ #  @@` @
@@`@ # # @@@@@  @@@    @ @@` @@ #@@`@@ @`@@@@@   @@  @@`@`  #  @@`@@  #     @`@@@     @`@@`@`@     @`@` @`   @@   @@ #@@@@@   @@  # #  #  @     @`  @ @@@ @`@`  @@`   @`@@@@`@@`    #      #@@@ #  @@` @
 @@@@@@@@    @ #  @   #@@`@`@ #@` @@ #@@@    #  @ @ # @@@` @@ # @@ # @@    #@@  @    #@@ @@@@@    @@@@`@@`  @ @  @ #@`    #  # # @@@@ @@ #@    @@` #@@` #@@@@` @`@`  #@@   @@ @`   @@     @`  #@@ @`@`@@
 @@@@@@@@    @ @  @   #@@`@`@ @@` @@ #@@@    #  @ @ # @@@` @@ # @@ # @@    @@@  @    @@@ @@@@@    @@@@`@@`  @ @  @ @@`    #  # # @@@@ @@ #@    @@` #@@` #@@@@` @`@`  @@@   @@ @`   @@     @`  @@@ @`@`@@
 @@@@@@@@    @ @  @   #@@`@`@ #@` @@ #@@@    #  @ @ # @@@` @@ # @@ # @@    @@@  @    @@@ @@@@@    @@@@`@@`  @ @  @ #@`    #  # # @@@@ @@ #@    @@` #@@` #@@@@` @`@`  @@@   @@ @`   @@     @`  @@@ @`@`@@
 #@@@@@@@    @ #  @   #@@`@`@ #@` @@ #@@@    #  @ # # @@@` @@ # @@ # @@    #@@  @    #@@ @@@@@    @@@@`@@`  @ @  @ #@`    #  # # @@@@ @@ #@    @@` #@@` #@@@@` @`@`  #@@   #@ @`   @@     @`  #@@ @`@`@@
@       @   #@@@ #@  @` @@@@@@`@`# #@`  @   @@ #@@@@@@  @`# #@@@ #@@@ @   @` # @@   @` #@    @   #   @@ @` #@@@ #@@`@`   @@ @@@@@   #@ #@`@   # @`@` @`@`   @`#@@@` @` #  # #@@`  # @    #@` @` #@@@@@  
@       @   #@@@ #@  @` @@@@@@`@`@ #@`  #   @@ #@@@@@@  @`@ @@@@ #@@@ #   @` # @@   @` #@    @   #   @@ @` #@@@ #@@`@`   @@ @@@@@   #@ #@`@   # @`@` @`@`   @`@@@@` @` #  # #@@`  @ #    @@` @` #@@@@@  
@       @   #@@@ #@  @` @@@@@@`@`@ @@`  @   @@ #@@@@@@  @`@ @@@@ @@@@ @   @` # @@   @` #@    @   #   @@ @` #@@@ #@@`@`   @@ @@@@@   #@ @@`@   # @`@` @`@`   @`@@@@` @` #  @ #@@`  @ @    @@` @` #@@@@@  
@       @   #@@@ #@  @` @@@@@@`@`@ #@`  #   @@ #@@@@@@  @`@ #@@@ #@@@ #   @` # @@   @` #@    @   #   @@ @` #@@@ #@@`@`   @@ @@@@@   #@ #@`@   # @`@` @`@`   @`@@@@` @` #  @ #@@`  @ #    #@` @` #@@@@@  
@      +@  #.``@#.@ #@`#`````@#@#@#`@` #@  #`@#.`````@ #@#@#```@#```@#@  #@`#@#`@  #@`#.@   +@  #@  #`##@`#.``@#.`@#@`  #`##````@  #.@#`@#@  #@#@#@`#@#@`  #@#```@`#@`#@ #@#.`@` +@#@   #`@`#@`#.````# #
@      #@  @`  #@`@ @@`@     @@@@@@`@` @@  @ #@`     @ #@@@@`  @@`  @@@  @@`@@@ @  @@`@`@   #@  @@  # #@@`@`  #@` @@@`  # #@    @  @`@@`@@@  @@@@@@`@@@@`  #@@   @`@@`@@ @@@` @` #@@@   @`@`@@`@`    # @
@      #@  @`  @@`@ @@`@     @@@@@@`@` @@  @ @@`     @ @@@@@`  @@`  @@@  @@`@@@ @  @@`@`@   #@  @@  @ #@@`@`  @@` @@@`  @ #@    @  @`@@`@@@  @@@@@@`@@@@`  @@@   @`@@`@@ @@@` @` #@@@   @`@`@@`@`    # @
@      #@  #`  #@`@ #@`@     @@@@@@`#` @@  @ #@`     @ #@@@@`  @@`  @@@  @@`#@@ #  @@`#`@   #@  #@  @ #@@`#`  #@` @@@`  @ #@    @  #`@@`#@@  #@@@@@`@@@@`  #@@   #`@@`#@ @@@` @` #@@@   @`#`@@`#`    # @
@     #`@ #@` @`@@@@`@@@    #     @@@`# # #@@`@`    #@@`   @` #`@` #` # #`@@  @@@ #`@@@@@  #`@ # # @@@` @@@` @`@`#  @` @@@`@   #@ #@@`@@  @ #     @@`  @` @` #  #@@`@@ #@  @`#@`#`  #  #@@@@`@@@`   #@@ 
@     @`@ @@` @`@@@@`@@@    @     @@@`@ @ #@@`@`    #@@`   @` # @` #  @ # @@  @@@ # @@@@@  @`@ # # @@@` @@@` @`@`@  @` @@@`@   #@ @@@ @@  @ @     @@   @` @` #  @@@ @@ #@  @`@@`@`  @  @@@@@ @@@`   @@@ 
@     @`@ @@` @`@@@@`@@@    @     @@@`@ @ #@@`@`    #@@`   @` # @` #  @ # @@  @@@ # @@@@@  @`@ # # @@@` @@@` @`@`@  @` @@@`@   #@ @@@ @@  @ @     @@   @` @` #  @@@ @@ #@  @`@@`@`  @  @@@@@ @@@`   @@@ 
@     @`@ @@` @`@@@@`@@@    @     @@@`@ # #@@`@`    #@@`   @` # @` #  @ # @@  @@@ # @@@@@  @`@ # # @@@` @@@` @`@`@  @` @@@`@   #@ @@@ @@  @ #     @@   @` @` #  @@@ @@ #@  @`@@`@`  #  @@@@@ @@@`   @@@ 
@    #@@@@`@`@@@   @@  @   #@    @  #@@@@@` @@@`   @` @`  @@`@@@@`@@ @@@@@ # #  #@@@    @ #@@@@@@@@  @`@  #`@@@@@@ #@`@  @@@  @`@@` #@ # #@@@    @ #  #@`@@`@@ @` #@ #@`@ #@@ @@@` @@ #    #@  @`  @  @@
@    @@@@@`@`@@@   @@  @   #@    @  @@@@@@` @@@`   @` @`  @@`@@@@`@@ @@@@@ @ #  @@@@    @ @@@@@@@@@  @`@  @`@@@@@@ @@`@  @@@  @`@@` #@ @ #@@@    @ #  @@`@@`@@ @` #@ @@`@ @@@ @@@` @@ #    #@  @`  @  @@
@    @@@@@`@`@@@   @@  @   #@    @  @@@@@@` @@@`   @` @`  @@`@@@@`@@ @@@@@ @ #  @@@@    @ @@@@@@@@@  @`@  @`@@@@@@ @@`@  @@@  @`@@` #@ @ #@@@    # #  @@`@@`@@ @` #@ @@`@ @@@ @@@` @@ #    #@  @`  #  @@
@    @@@@@`@`@@@   @@  @   #@    @  @@@@@@` @@@`   @` @`  @@`@@@@`@@ @@@@@ # #  @@@@    @ @@@@@@@@@  @`@  @`@@@@@@ @@`@  @@@  @`@@` #@ # #@@@    # #  @@`@@`@@ @` #@ @@`@ @@@ @@@` @@ #    #@  @`  #  @@
@   @`   @@@@` @  # @ #@  #`@   #@ #     @`#  @`  #@`#@` #`@@   @@ #@    @@@@@ @`  @   #@@`       @ #@@@ #@@`    @@`@@@ #  @ #@@`@`#`@@@@`  @   @@@@ @`@@`@@ #@@`#`@@`@@@@` #@  @`# @@@   #`@ #@` @@ #` 
@   @`   @@@@  @  @ @ #@  @`@   #@ #     @`@  @`  #@`@@` # @@   @@ #@    @@@@@ @`  @   #@@`       @ #@@@ #@@     @@`@@@ #  @ #@@ @`@`@@@@`  @   @@@@ @`@@ @@ #@@`@`@@`@@@@` #@  @`@ @@@   @`@ #@` @@ #  
@   @`   @@@@  #  @ @ #@  @`@   #@ #     @`@  @`  @@`@@` # @@   @@ #@    @@@@@ @`  @   #@@`       @ @@@@ @@@     @@`@@@ @  @ @@@ @`@`@@@@`  @   @@@@ @`@@ @@ #@@`@`@@`@@@@` #@  @`@ @@@   @`@ @@` @@ #  
@   @`   @@@@  @  @ @ #@  @`@   #@ @     @`@  @`  #@`@@` # @@   @@ #@    @@@@@ @`  @   #@@`       @ #@@@ #@@     @@`#@@ #  @ #@@ @`@`@@@@`  #   @@@@ @`@@ @@ #@@`@`@@`#@@@` #@  @`@ #@@   @`@ #@` @@ #  
@  #@`  #   # @@ #@@@@`@ #@@@  @`@@@    #@@@ #@` @`@@ @`@@@ #  # @@`@   #    #@@` #@  @` @`      #@@`  @@` #    # @@  @@@ #@@` #@@@@@   @` @@  #   #@@@ #@ @@` @@@@ @@   @`@`@ #@@@@` #  #@@@@`@`# @@@ @
@  @@`  @   # @@ #@@@@`@ @@@@  @`@@@    @@@@ @@` @`@@ @`@@@ @  @ @@`@   #    #@@` #@  @` @`      #@@`  @@` #    # @@  @@@ #@@` #@@@@@   @` @@  @   #@@@ #@ @@` @@@@ @@   @`@`@ @@@@@` #  @@@@@`@`@ @@@ @
@  @@`  @   # @@ #@@@@`@ @@@@  @`@@@    @@@@ @@` @`@@ @`@@@ #  @ @@`@   #    #@@` #@  @` @`      #@@`  @@` #    # @@  @@@ #@@` #@@@@@   @` @@  @   #@@@ #@ @@` @@@@ @@   @`@`@ @@@@@` #  @@@@@`@`@ @@@ @
@  @@`  @   # @@ #@@@@`@ @@@@  @`@@@    @@@@ #@` @`@@ @`@@@ #  @ #@`@   #    #@@` #@  @` @`      #@@`  @@` #    # @@  @@@ #@@` #@@@@@   @` @@  @   #@@@ #@ #@` @@@@ @@   @`@`@ @@@@@` #  @@@@@`@`@ @@@ @
@ +`@` +@  +@#`@#.```@#@#.``@ +@#``@   #.``@#.@`#@#`##@#``@#@ +@#.@#@  +@   +.`@`+.@ +@`#@`     +.`@` +`@`+@   +@#`@ +``@#.`@`+.````#  +@`#`@ +@  +.``@#.@#.@`#```##`@  #@#@#@#.```@`+@ #.```@#@#@#.`##`
@ # @` #@  @@@ @@`   @@@@`  @ @@@  @   @`  @@`@`@@@ #@@@  @@@ #@@`@@@  @@   @` @`@`@ @@`@@`     @` @` # @`@@   @@@ # #  @@` @`@`    #  @@`@ @ #@  @`  @@`@@`@`@   #@ @  @@@@@@@`   @`@@ @`   @@@@@@` #@ 
@ # @` #@  @@@ @@`   @@@@`  @ @@@  @   @`  @@`@`@@@ #@@@  @@@ #@@`@@@  @@   @` @`@`@ @@`@@`     @` @` # @`@@   @@@ # #  @@` @`@`    #  @@`@ @ #@  @`  @@`@@`@`@   #@ @  @@@@@@@`   @`@@ @`   @@@@@@` #@ 
@ # @` #@  #@@ #@`   #@@@`  @ #@@  @   @`  @@`#`@@@ #@@@  @@@ #@@`@@@  #@   #` @`@`@ #@`@@`     #` @` # @`@@   #@@ @ #  #@` @`#`    #  #@`@ @ #@  #`  #@`@@`#`@   #@ @  @@@@@@@`   @`#@ @`   @@@@@@` #@ 
@@@@@`#`@ #` @@`@`  #`  @` #@@` # @@  #@` #`@@@@` @@`  @ #` @@` @@` @ #`#  #@`#@@@@@@`@@`@`    #@`#@`#@@@@`#  #` @@@@@ @`@`#@@@`   #@ @`@@@@@@`@ #@` @`@@`@@@@@  #`@@@ #`     @`  #@@`#@@`  #     @`#`@@
@@@@@`@`@ @  @@`@`  @   @` #@@` # @@  @@` # @@@@  @@`  @ #  @@` @@  @ @ #  #@`@@@@@@@`@@ @`    #@`@@`@@@@@ #  @  @@@@@ @`@`@@@@`   @@ @`@@@@@@`@ #@` @`@@ @@@@@  @`@@@ #      @`  @@@ #@@`  @     @`@`@@
@@@@@`@`@ @  @@`@`  @   @` #@@` # @@  @@` # @@@@  @@`  @ #  @@` @@  @ @ #  @@`@@@@@@@`@@ @`    @@`@@`@@@@@ #  @  @@@@@ @`@`@@@@`   @@ @`@@@@@@`@ @@` @`@@ @@@@@  @`@@@ #      @`  @@@ #@@`  @     @`@`@@
@@@@@`@`@ #  @@`@`  #   @` #@@` # @@  @@` # @@@@  @@`  @ #  @@` @@  @ # #  @@`@@@@@@@`@@ @`    @@`@@`@@@@@ #  #  @@@@@ @`#`@@@@`   @@ @`@@@@@@`@ @@` @`@@ @@@@@  #`@@@ #      @`  @@@ #@@`  @     @`@`@@
    @@@@@@@ # @@@` @@  @@`@` @`@@@ # # @`@@@   # @`@` @@@@ @`@`@ # #@@@@@ @ @@      @@ #@@`   @ @@ @@    #@@ @@ #    #@@@@@   @`  @ #@@@     @@@@ @`@@@ #@    @ @@@  #@@     @@` #  #@` @` #@    @@@@@ @
    @@@@@@@ # @@@` @@  @@`@` @`@@@ # # @`@@@   # @`@` @@@@ @`@`@ # #@@@@@ @`@@      @@ #@@`   @`@@ @@    @@@ @@ #    #@@@@@   @`  # #@@@     @@@@`@`@@@ #@    @ @@@  @@@     @@` #  @@` @` #@    @@@@@ @
    @@@@@@@ # @@@` @@  @@`@` @`@@@ @ # @`@@@   # @`@` @@@@ @`@`@ @ #@@@@@ @`@@      @@ #@@`   @`@@ @@    @@@ @@ #    #@@@@@   @`  @ #@@@     @@@@`@`@@@ #@    @ @@@  @@@     @@` #  @@` @` #@    @@@@@ @
    @@@@@@@ # @@@` @@  @@`@` @`@@@ @ # @`@@@   # @`@` @@@@ @`@`@ @ #@@@@@ @`@@      @@ #@@`   @`@@ @@    #@@ @@ #    #@@@@@   @`  # #@@@     @@@@`@`@@@ #@    @ @@@  #@@     @@` #  @@` @` #@    @@@@@ @
   #      @@@@  @`# @ +`@@@`#@@` @@@@@@@@` @  #@@@@@`#   #@@@@@@@@@`    #@@@`#     # #@` @`  #@@`#@ @   @` #@ @@@   #`    #  #@` @@@`  @    #`  @@@@` @@`@   +@@` # @` #    +`@`#@ @`@`#@`#`@   +`   #@@
   @      @@@@  @`@ @ # @@@`@@@  @@@@@@@@  @  @@@@@@`@   #@@@@@@@@@`    #@@@ #     @ @@` @`  @@@ #@ @   @` #@ @@@   @`    #  @@` @@@`  @    @   @@@@  @@`@   #@@` # @` #    # @`@@ @`@`@@`@`@   #    #@@
   @      #@@@  @`@ @ # @@@`@@@  @@@@@@@@  @  @@@@@@`@   #@@@@@@@@@`    #@@@ #     @ #@` @`  @@@ #@ @   @` #@ #@@   @`    #  #@` @@@`  @    @   @@@@  #@`@   #@@` # @` #    # @`@@ @`@`@@`@`@   #    #@@
   @      #@@@  @`@ # # @@@`@@@  @@@@@@@@  @  @@@@@@`@   #@@@@@@@@@`    #@@@ #     @ #@` @`  @@@ #@ @   @` #@ #@@   @`    #  #@` @@@`  #    @   @@@@  #@`@   #@@` # @` #    # @`#@ @`@`@@`@`@   #    #@@
  +@     @`  @ #@@@@@@@@  @@  # #       # +@ #     @@@  #`        @`   @`  #@@    +@#`@`#@` #  #@`@@@  #@`#`@@` #  #@`   #@ @`@`#  @` #@   @@  #   # @`@@@  #` @`#@@@`#@   #@@@@ #@@@@@ @#@@@  #@   #` @
  #@     @`  @ @@@@@@@@@  @@  # #       # #@ @     @@@  @`        @`   @`  #@@    #@@`@`@@` #  #@`@@@  @@`@`@@  #  @@`   @@ @`@`@  @` @@   @@  @   # @`@@@  @` @`@@@@`@@   @@@@@ #@@@@@ @@@@@  @@   @` @
  #@     @`  @ @@@@@@@@@  @@  @ #       @ #@ @     @@@  @`        @`   @`  @@@    #@@`@`@@` #  @@`@@@  @@`@`@@` #  @@`   @@ @`@`@  @` @@   @@  @   # @`@@@  @` @`@@@@`@@   @@@@@ #@@@@@ @@@@@  @@   @` @
  #@     @`  @ @@@@@@@@@  #@  @ #       @ #@ @     #@@  @`        @`   @`  @@@    #@@`@`@@` #  #@`@@@  @@`@`@@` #  #@`   #@ @`@`@  @` @@   @@  @   # @`#@@  @` @`#@@@`#@   #@@@@ #@@@@@ @@@@@  #@   @` @
 +.@    +@` +@+........@ +.# +@+@      +@+.@+@    +..@ +@`       +@`  +@` #..#   +..@#@#.@`+@ #.@#..@ +.@#@#.@`+@ #.@`  +.##@#@#@ +@`+.@  +.@ +@  +@#@#..@ +@`+@#...@#.#  +....@#.`...##....@ +.#  +@`+@
 @`@    @@` #@@`       @ # # @@@@      @@@`@@@    @  @ @@`       @@`  #@` @` #   @` @@@@ @`@@ @`@@  # # @@@@ @`@@ @`@`  @ #@@@@@@ #@`@ #  @ # #@  @@@@@  @ @@`@@@   @@ #  @    #@`    #@    @ @ #  @@`@@
 @`@    @@` #@@`       @ # # @@@@      @@@`@@@    #  @ @@`       @@`  @@` @` #   @` @@@@ @`@@ @`@@  @ # @@@@ @`@@ @`@`  @ #@@@@@@ @@`@ #  @ @ #@  @@@@@  @ @@`@@@   @@ #  #    @@`    #@    @ @ #  @@`@@
 @`@    @@` #@@`       @ # # @@@@      @@@`@@@    @  @ #@`       #@`  #@` @` #   @` @@@@ @`@@ @`@@  # # @@@@ @`@@ @`@`  # #@@@@@@ #@`@ @  @ # #@  @@@@@  @ #@`@@@   @@ #  @    #@`    #@    @ # #  #@`@@
@@@@   #`@`#` @`      #@@@#@#   #     #  @@` @   @@ #@@`@`      @`@` @`@`#@`#@  #@`#   ##@@`##@@`# @@#@#   ##@@`##@@@` @@#`     @@`@@@@@ #@@@#`@ #`   @ #@@`@@` @  # @#@ @@   @`@`   #`@   #@@@#@ @`@@` 
@@@@   # @`@` @`      #@@@@@@   #     @  @@  #   @@ #@@`@`      @`@` @`@`@@`@@  @@`@   #@@@ #@@@ # @@@@@   #@@@ #@@@@` @@@`     @@`@@@@@ #@@@@`@ #    # #@@`@@  #  @ @@@ @@   @`@`   @`@   #@@@@@ @`@@  
@@@@   # @`@` @`      #@@@@@@   #     @  @@  #   @@ #@@`@`      @`@` @`@`@@`@@  @@`@   #@@@ #@@@ # @@@@@   #@@@ #@@@@` @@@`     @@`@@@@@ #@@@@`@ #    # #@@`@@  #  @ @@@ @@   @`@`   @`@   #@@@@@ @`@@  
@@@@   # @`@` @`      #@@@@@@   #     @  @@  #   @@ #@@`@`      @`@` @`@`@@`@@  @@`@   #@@@ #@@@ # @@@@@   #@@@ #@@@@` @@@`     @@`@@@@@ #@@@@`@ @    # #@@`@@  #  @ @@@ @@   @`@`   @`@   #@@@@@ @`@@  
   @  @@@@@@`@@`     @`     @  @@    #@ @ # @@  @ #@` @@@`     @@@@`@@@@@ @@ # @`@@@  @`  #@`  #@@@    @  @`  #@`   @`@  @`    # @@    #@`   @@@@@   @@@` @@ # @@ #@@` #@ #  @@@@`  #@@@  @`    #@@@ #  
   @  @@@@@@`@@`     @`     @  @@    #@ @ # @@  @ @@` @@@`     @@@@`@@@@@ @@ # @`@@@  @`  @@`  @@@@    @  @`  @@`   @`@  @`    # @@    @@`   @@@@@   @@@` @@ # @@ #@@` #@ @  @@@@`  @@@@  @`    #@@@ #  
   @  @@@@@@`@@`     @`     @  @@    #@ @ # @@  @ @@` @@@`     @@@@`@@@@@ @@ # @`@@@  @`  @@`  @@@@    @  @`  @@`   @`@  @`    # @@    @@`   @@@@@   @@@` @@ # @@ #@@` #@ @  @@@@`  @@@@  @`    #@@@ #  
   @  @@@@@@`@@`     @`     @  @@    #@ # # @@  @ @@` @@@`     @@@@`@@@@@ @@ # @`@@@  @`  @@`  @@@@    @  @`  @@`   @`@  @`    # @@    @@`   @@@@@   @@@` @@ # @@ #@@` #@ #  @@@@`  @@@@  @`    #@@@ #  
  +@ #`````@#`@`    #@`    +@ #`#   #.@#@#@#`@ +@#`@`#``@`    +```@#````##`@#@#@#``@ #@` #`@` #```@   +@ #@` #`@`  #@#@ #@`   #@#`@   #`@`  #````@  #``@`#`@#@#`@#.`@`#.@#@ +```@` #```@ #@`   #.``@#@  
  #@ @     @@ @`    @@`    #@ # #   @`@@@@@@ @ #@@`@`@  @`    #   @@    #@ @@@@@@  @ @@` @`@` @`  @   #@ @@` @`@`  @@@@ @@`   @@@ @   @`@`  #    @  @  @`@ @@@@ @@` @`@`@@@ #   @` @`  @ @@`   @`  @@@  
  #@ @     @@ @`    @@`    #@ @ #   @`@@@@@@ # #@@`@`@  @`    #   @@    #@ @@@@@@  @ @@` @`@` @`  @   #@ @@` @`@`  @@@@ @@`   @@@ @   @`@`  @    @  @  @`@ @@@@ @@` @`@`@@@ #   @` @`  @ @@`   @`  @@@  
  #@ @     #@ @`    #@`    #@ @ #   @`@@@@@@ # #@@`@`@  @`    #   #@    #@ #@@@@@  @ #@` @`@` @`  @   #@ #@` @`@`  #@@@ #@`   @@@ #   @`@`  #    @  @  @`@ #@@@ #@` @`@`@@@ #   @` @`  @ #@`   @`  #@@  
 #`@#@    #`#@@`   #`@`   #`@#@@@  #@#`    @#@@` @#@#@ #@`   #@  #`#   #`@#`    # +@#`@`#@#@`#@` +@  #`@#`@`#@#@` #`  @#`@`  #` @#@  #@#@` #@   #@ +@ #@#@#`  @#`@`#@#@#` #@@  #@`#@` +@#`@`  #@` #` #  
 @`@@@    @ #@@`   @`@`   @`@@@@@  @@@     @@@@` @@@@@ @@`   @@  @ #   @`@@`    # #@@`@`@@@@`@@` #@  @`@@`@`@@@@` @`  @@`@`  @  @@@  @@@@` @@   @@ #@ @@@@@`  @@`@`@@@@@  @@@  @@`@@` #@@`@`  @@` @` #  
 @`@@@    @ #@@`   @`@`   @`@@@@@  @@@     @@@@` @@@@@ @@`   @@  # #   @`@@`    @ #@@`@`@@@@`@@` #@  @`@@`@`@@@@` @`  @@`@`  @  @@@  @@@@` @@   @@ #@ @@@@@`  @@`@`@@@@@  @@@  @@`@@` #@@`@`  @@` @` #  
 @`@@@    @ #@@`   @`@`   @`@@@@@  @@@     @@@@` @@@@@ @@`   @@  # #   @`@@`    @ #@@`@`@@@@`@@` #@  @`@@`@`@@@@` @`  @@`@`  @  @@@  @@@@` @@   @@ #@ @@@@@`  @@`@`@@@@@  @@@  @@`@@` #@@`@`  @@` @` #  
+@+..@   +@+..@`  +@+@`  +@+....# +..#    '...@`+....@+.@`  +.# +@+@  +@+.@`   +@+..@+@+...@+.@`+.@ +@+.@+@+...@`+@` '.@+@` +@ '..@ '...@`+.@  +.@+.@+....@` '.@+@+....# +..# +.@+.@`+..@+@` +.@`+@`+@ +
@@@  @   @@@` @`  @@@@`  @@@    # @` #    #   @`@    @@`@`  @ # @@@@  @@@ @`   @@@` @@@@   @@ @`@`@ @@@ @@@@   @`@@` # @@@` @@ #  @ #   @`@ @  @ @@`@@`   @` # @@@@    # @` # @`@@ @`@` @@@` @`@`@@`@@ @
@@@  @   @@@` @`  @@@@`  @@@    # @` #    #   @`@    @@`@`  @ # @@@@  @@@ @`   @@@` @@@@   @@ @`@`@ @@@ @@@@   @`@@` # @@@` @@ #  @ #   @`@ @  @ @@`@@`   @` # @@@@    # @` # @`@@ @`@` @@@` @`@`@@`@@ @
@@@  #   @@@` @`  @@@@`  @@@    # @` #    #   @`@    @@`@`  @ # @@@@  @@@ @`   @@@` @@@@   @@ @`@`@ @@@ @@@@   @`@@` # @@@` @@ #  @ #   @`@ @  @ #@`@@`   @` # @@@@    # @` # @`@@ @`@` @@@` @`@`@@`@@ @
``# #@  #``@`#@` +```@` #``#   #@#@`#@   #@  #@@@   +`@#@` #@#@#```# #``##@`  #``@`#```#  #`##@#@@@#``##```#  #@@`@`#@#``@`#`@#@ #@#@  #@@@#@ +@#`@@`@`  #@`#@#```#   #@#@`#@#@#`##@#@`#``@`#@#@@`@#`##@
  # @@  @  #`@@` #   #` @` #   @@@@`@@   @@  #@@@   # @@@` @@@@@   # @` #@@`  @  #`@   #  # #@@@@@@@` #@   #  #@@ @`@@@  #`@ @@@ @@@@  #@@@@@ #@@`@@ @`  @@`@@@   #   @@@@`@@@@@ #@@@@`@  @`@@@@@ @@ #@@
  # @@  @  @`@@` #   @` @` #   @@@@`@@   @@  @@@@   # @@@` @@@@@   # @` #@@`  @  @`@   #  @ #@@@@@@@` #@   #  @@@ @`@@@  @`@ @@@ @@@@  @@@@@@ #@@`@@ @`  @@`@@@   #   @@@@`@@@@@ #@@@@`@  @`@@@@@ @@ #@@
  # @@  @  @`@@` #   @` @` #   @@@@`@@   @@  @@@@   # @@@` @@@@@   # @` #@@`  @  @`@   #  @ #@@@@@@@` #@   #  #@@ @`@@@  @`@ @@@ @@@@  @@@@@@ #@@`@@ @`  @@`@@@   #   @@@@`@@@@@ #@@@@`@  @`@@@@@ @@ #@@
 @@@ # #@ @@@ @`@@  @@`@@`@@  @   @@ #  @ # @`  @  @@@  @`@    @  @@@@`@` @` #@ @@@@  @@ @@@`      @`@`@  @@ @` #@@@  @ @@@@@` #@   # @`    #@` @@ #@@` # @@  @  @@  #   @@    #@`   @@@ #@@    #@ #@` @
 @@@ @ #@ @@@ @`@@  @@`@@`@@  #   @@ #  # # @`  @  @@@  @`@    @  @@@@`@` @` #@ @@@@  @@ @@@`      @`@`@  @@ @` #@@@  @ @@@@@` #@   # @`    @@` @@ #@@` # @@  @  @@  @   @@    @@`   @@@ @@@    #@ @@` @
 @@@ @ #@ @@@ @`@@  @@`@@`@@  #   @@ #  # # @`  @  @@@  @`@    @  @@@@`@` @` #@ @@@@  @@ @@@`      @`@`@  @@ @` #@@@  @ @@@@@` #@   # @`    @@` @@ #@@` # @@  @  @@  @   @@    @@`   @@@ @@@    #@ @@` @
 @@@ @ #@ @@@ @`@@  #@`@@`@@  @   @@ #  # # @`  @  @@@  @`@    @  @@@@`@` @` #@ @@@@  @@ @@@`      @`@`@  @@ @` #@@@  @ @@@@@` #@   # @`    #@` @@ #@@` # @@  @  @@  @   @@    #@`   @@@ #@@    #@ #@` @
#``@#@#.@#``##@#`# #`@#`@#`# #@  #`@#@ #@#@#@` +@ #``@ #@#@   +@ #```@#@`#@`#.@#```@ #`##``@`     #@#@#@ #`##@`#.``@ +@#````@`#.@  #@#@`   #`@`#`@#.`@`#@#`@ +@ #`# #@  #`@   #`@`  #``@#``#   #.@#`@`#`
@  @@@@`@@` #@@@ # @`@@ @@ # @@  @ @@@ @@@@@@` #@ #  @ @@@@   #@ @   @@@`@@`@`@@`  @ @ #@  @`     @@@@@@ @ #@@`@`  # #@@`   @`@`@  @@@@`   @`@`@ @@` @`@@@ # #@ @ # @@  @ @   @`@`  @  @@` #   @`@@`@`@ 
@  @@@@`@@` #@@@ # @`@@ @@ # @@  @ #@@ @@@@@@` #@ #  @ #@@@   #@ @   @@@`@@`@`@@`  @ @ #@  @`     @@@@@@ @ #@@`@`  # #@@`   @`@`@  @@@@`   @`@`@ #@` @`@@@ # #@ # # @@  @ @   @`@`  #  @@` #   @`@@`@`@ 
@  @@@@`@@` #@@@ # @`@@ @@ # @@  @ #@@ @@@@@@` #@ #  @ #@@@   #@ #   @@@`@@`@`@@`  @ # #@  @`     @@@@@@ # #@@`@`  # #@@`   @`@`@  @@@@`   @`@`@ #@` @`@@@ # #@ @ # @@  @ #   @`@`  #  @@` #   @`@@`@`@ 
@ +`  @#`@`#`  #@@#@#`## #@@# # +@#` ##     @`#`@#@ +@#`  @  #`@#@  #  @#`@#@#`@` +@#@#`@ #@`    +`    @#@#` @#@` #@#` @`  #@#@#@ #`  @`  #@#@#@#`@`#@#` @#@#`@#@#@# # +@#@  #@#@` #@ +`@`#@  #@#`@#@#@#
@ #   @@ @`@`  #@@@@@ #@ #@@@ @ #@@` #@     @`@`@@@ #@@`  @  @`@@@  @  @@ @@@@ @` #@@@@`@ #@`    #     @@@@` @@@` @@@` @`  @@@@@@ #   @`  @@@@@@@ @`@@@  @@@@`@@@@@@ @ #@@@  @@@@` @@ # @`@@  #@@ @@@@@@
@ #   @@ @`@`  @@@@@@ #@ @@@@ @ #@@` #@     @`@`@@@ #@@`  @  @`@@@  @  @@ @@@@ @` #@@@@`@ @@`    #     @@@@` @@@` @@@` @`  @@@@@@ @   @`  @@@@@@@`@`@@@  @@@@`@@@@@@ @ #@@@  @@@@` @@ # @`@@  @@@ @@@@@@
@ #   @@ @`@`  #@@@@@ #@ #@@@ # #@@` #@     @`@`@@@ #@@`  @  @`@@@  @  @@ @@@@ @` #@@@@`@ @@`    #     @@@@` @@@` @@@` @`  @@@@@@ #   @`  @@@@@@@`@`@@@  @@@@`@@@@@@ @ #@@@  @@@@` @@ # @`@@  #@@ @@@@@@
@+@  +.#+@+@` +.....@+,@+...@+@+,.@`+,@    +@+@+..@+,.@` '@ +@+..@ '@ +.#+...#+@`+,...@+@+.@`   +@    '...@`+..@`+..@`+@` '.....@+@  +@` '......@+@+..@ '...@+.....@+@+,..@ '...@`+.@+@+@+.# +..#+......
@@@  @ #@@@@` @`    #@`@@`  @@@@` @`@`@    @@@@@  #@` @` #@ #@@  @ #@ @ #@   #@@`@`   @@@@`@`   @@    #   @`@  @`@  @`@@` #     @@@  @@` #      @@@@  @ #   @@     @@@@`  @ #   @`@ #@@@@@ # @` #@      
@@@  @ #@@@@` @`    @@`@@`  @@@@` @`@`@    @@@@@  @@` @` #@ @@@  @ #@ # #@   #@@`@`   @@@@`@`   @@    #   @`@  @`@  @`@@` #     @@@  @@` #      @@@@  @ #   @@     @@@@`  @ #   @`@ @@@@@@ # @` #@      
@@@  # #@@@@` @`    #@`@@`  @@@@` @`@`@    @@@@@  #@` @` #@ #@@  # #@ # #@   #@@`@`   #@@@`@`   #@    #   @`@  @`@  @`@@` #     @@@  @@` #      @@@@  # #   #@     @@@@`  # #   @`@ #@@@@@ # @` #@      
``# #@#.```@`#@`   #`@#`@` +```@`#@#@#@   +````# #`@`#@`#.@#``# #@#.@#@#.@  #.`@#@`  #```@#@`  #`#   #@  #@#@ #@#@ #@#`@`#@    +``@ +`@`#@     #```# #@#@  #`#    +```@` #@#@  #@#@#`````@#@#@`#.@      
  # @@@`   @`@@`   @`@@ @` #   @`@@@@@@   #    # @`@`@@`@`@@` # @@@`@@@@`@  @` @@@`  @   @@@`  @ #   @@  @@@@ @@@@ @@@ @`@@    #  # # @`@@     @   # @@@@  @ #    #   @` @@@@  @@@@@`    @@@@@`@`@      
  # @@@`   @`@@`   @`@@ @` #   @`@@@@@@   #    # @`@`@@`@`@@` # @@@`@@@@`@  @` @@@`  #   @@@`  @ #   @@  @@@@ @@@@ @@@ @`@@    #  # # @`@@     @   # @@@@  @ #    #   @` @@@@  @@@@@`    @@@@@`@`@      
  # @@@`   @`@@`   @`@@ @` #   @`@@@@@@   #    # @`@`@@`@`@@` # @@@`@@@@`@  @` @@@`  #   @@@`  # #   @@  @@@@ @@@@ @@@ @`@@    #  # # @`@@     @   # @@@@  # #    #   @` @@@@  @@@@@`    @@@@@`@`@      
 #@@  @`  #@@ @`  @@@ #@@`@@  #@@     @  #@   @@@@@@@ @@@@ @`#@@  @@   #@@ #@`@  #` @@  @  #` @@@@  # # @`  @@`  @@` #@@@ #   @@ @@@@@@@ #    #@  @@@   # @@@@   #@  #@`@   # @`   @`   @`   @@@@@      
 @@@  @`  @@@ @`  @@@ #@@`@@  @@@     @  @@   @@@@@@@ @@@@ @`@@@  @@   @@@ @@`@  @` @@  @  @` @@@@  @ # @`  @@`  @@` #@@@ #   @@ @@@@@@@ #    #@  @@@   # @@@@   @@  @@`@   # @`   @`   @`   @@@@@      
 @@@  @`  @@@ @`  @@@ #@@`@@  @@@     @  @@   @@@@@@@ @@@@ @`@@@  @@   @@@ @@`@  @` @@  @  @` @@@@  @ # @`  @@`  @@` #@@@ #   @@ @@@@@@@ #    #@  @@@   # @@@@   @@  @@`@   # @`   @`   @`   @@@@@      
 @@@  @`  #@@ @`  @@@ #@@`@@  #@@     @  @@   @@@@@@@ @@@@ @`@@@  @@   @@@ #@`@  @` @@  @  @` @@@@  # # @`  @@`  @@` #@@@ #   @@ @@@@@@@ #    #@  @@@   # @@@@   @@  #@`@   # @`   @`   @`   @@@@@      
#``@ +@` #.`##@` +``@#.`@#`# #.`#    +@ +`#  +``````##```##@#``@ +`#  +``@#.@#@ +@`#`@ +@ +@`#```# #@#@#@` +`@` +`@`+.``@#@  +`##``````@#@   +.@ +``@  +@#```#  +`# #.@#@  +@#@`  #@`  #@`  #````@     #
@  @ @@` @` #@@` #  @@` @@ # @` #    #@ @ #  @      #@   #@@@  @ @ #  @  @@`@@@ @@`@ @ #@ @@`@   # @@@@@@` # @` # @`@`  @@@  @ #@      #@@   @`@ @  @  @@@   #  @ # @`@@@  @@@@`  @@`  @@`  @    @     @
@  @ @@` @` #@@` #  @@` @@ # @` #    #@ # #  #      #@   #@@@  @ # #  @  @@`@@@ @@`@ @ #@ @@`@   # @@@@@@` # @` # @`@`  @@@  # #@      @@@   @`@ #  @  @@@   #  # # @`@@@  @@@@`  @@`  @@`  @    @     @
@  @ #@` @` #@@` #  #@` @@ # @` #    #@ @ #  #      #@   #@@@  @ @ #  #  @@`@@@ #@`@ @ #@ #@`@   # @@@@@@` # @` # @`@`  #@@  @ #@      #@@   @`@ #  @  @@@   #  @ # @`@@@  @@@@`  @@`  @@`  @    @     @
@ +@#`@`#@`#``@`#@ #`@`#`@#@#@`#@   #`@#@#@ #@     #`@  #```@ +@#@#@ #@ +`@#``@#`@#@#@#`@#`@#@  #@#`    @`#@#@`#@#@#@` #``# #@#`@     #` #  #@#@#@ +@ #``@  #@ #@#@#@#``@ #`  @` +`@` +`@` +@   +@    #`
@ #@@`@`@@`@` @`@@ @`@`@ @@@@@`@@   @`@@@@@ @@     @`@  @`  # #@@@@@ @@ # @@  @@`@@@@@@`@@`@@@  @@@     @`@@@@`@@@@@@` @` # @@@`@     @` #  @@@@@@ #@ @  @  @@ @@@@@@@  @ @   @` # @` # @` #@   #@    @ 
@ #@@`@`@@`@` @`@@ @`@`@ @@@@@`@@   @`@@@@@ @@     @`@  @`  @ #@@@@@ @@ # @@  @@`@@@@@@`@@`@@@  @@@     @`@@@@`@@@@@@` @` # @@@`@     @` #  @@@@@@ #@ @  @  @@ @@@@@@@  @ @   @` # @` # @` #@   #@    @ 
@ #@@`@`@@`@` @`@@ @`@`@ @@@@@`@@   @`@@@@@ @@     @`@  @`  @ #@@@@@ @@ # @@  @@`@@@@@@`@@`@@@  @@@     @`@@@@`@@@@@@` @` # @@@`@     @` #  @@@@@@ #@ @  @  @@ @@@@@@@  @ @   @` # @` # @` #@   #@    @ 
@',,@+@+,@'@`'@',#'@'@+@',,,,@',#  '@+,,,,#',@    '@+@ '@` '@',,,,,#',@'@',@ ',@',,,,,@+,@',,@ ',,@    '@',,,@',,,,,@`'@`'@',,@+@    '@`'@ ',,,,,@',@'@ '@ ',#',,,,,,@ '@'@  '@`'@'@`'@'@`',@  ',@   '@'
@@` @@@@ @@@`@@@ #@@@@@@@`   @@ #  @@@    #@ #    @@@@ @@` @@@`    #@ @@@@ # # @@     @@ @@  @ @  @    @@@   @@     @`@@`@@@  @@@    @@`@@ @`    @@`@@@ #@ @ #@      # #@@@  @@`@@@@`@@@@`@`@  @`@   #@@
@@` @@@@ @@@`@@@ #@@@@@@@`   @@ #  @@@    #@ #    @@@@ @@` @@@`    #@ @@@@ # # @@     @@ @@  @ @  @    @@@   @@     @`@@`@@@  @@@    @@`@@ @`    @@`@@@ #@ @ #@      # #@@@  @@`@@@@`@@@@`@`@  @`@   #@@
@@` @@@@ @@@`@@@ #@@@@@@@`   @@ #  @@@    #@ @    @@@@ @@` @@@`    #@ @@@@ # # @@     @@ @@  @ @  @    @@@   @@     @`@@`@@@  @@@    @@`@@ @`    @@`@@@ #@ # #@      # #@@@  @@`@@@@`@@@@`@`@  @`@   #@@
`@`#```##``@#``@#.``````@`  #`@#@ #``#   #.@#@   #```@#`@`#``@`   #.@#```@#@#@#`@    #`##`@ +@#@ +@   +``@  #`@    #@#`@#``@ #``@   +`@#`##@`   #`@#``@#.@#@#.@     #@#.``@ +`@#```@#```@#@#@ #@#@  #.`@
 @`@   #@  @@  @@`      @`  @ @@@ @` #   @`@@@   @`  @@`@`@  @`   @`@@`  @@@@@@ #    # #@ # #@@@ #@   #  @  @ #    @@@ @@  @ #  @   # @@ #@@`   @`@@  @@`@@@@`@     @@@`  # # @@   @@   @@@@@ @@@@  @` @
 @`@   #@  @@  @@`      @`  @ @@@ @` #   @`@@@   @`  @@`@`@  @`   @`@@`  @@@@@@ @    # #@ # #@@@ #@   #  @  @ @    @@@ @@  @ #  @   # @@ #@@`   @`@@  @@`@@@@`@     @@@`  # # @@   @@   @@@@@ @@@@  @` @
 @`@   #@  @@  #@`      @`  @ #@@ @` #   @`@@@   @`  @@`@`@  @`   @`@@`  @@@@@@ #    # #@ # #@@@ #@   #  #  @ #    @@@ @@  @ #  @   # @@ #@@`   @`@@  #@`@@@@`@     @@@`  # # @@   @@   @@@@@ #@@@  @` @
@@@@  #`@ # # @`@`     @@` #@@` #@@`#@  #@@  @  @@` # @@@@@ #@`  #@@ @` #     @@@   @@@`@@@@`  #@`@  #@ @@ #@@@   @` #@ # #@@@ #@  #@@ #@` @`  @@@ # @`@@   @@@    @  @` @@@@@ @  @ #  @    @@`  @ #@`@ 
@@@@  @`@ # # @`@`     @@` #@@` #@@`@@  @@@  @  @@` # @@@@@ @@`  #@@ @` #     @@@   @@@`@@@@`  @@`@  @@ @@ #@@@   @` #@ @ #@@@ #@  @@@ @@` @`  @@@ # @`@@   @@@    @  @` @@@@@ @  @ @  @    @@`  @ #@`@ 
@@@@  @`@ @ # @`@`     @@` #@@` #@@`@@  @@@  @  @@` # @@@@@ @@`  @@@ @` #     @@@   @@@`@@@@`  @@`@  @@ @@ #@@@   @` #@ @ #@@@ #@  @@@ @@` @`  @@@ # @`@@   @@@    @  @` @@@@@ @  @ @  @    @@`  @ @@`@ 
@@@@  @`@ @ # @`@`     @@` #@@` #@@`@@  @@@  @  @@` # @@@@@ @@`  @@@ @` #     @@@   @@@`@@@@`  @@`@  @@ @@ #@@@   @` #@ @ #@@@ #@  @@@ @@` @`  @@@ # @`@@   @@@    @  @` @@@@@ @  @ @  @    @@`  @ @@`@ 
...@ +@#@+@+@+@+@`    +.@`+..@`+..@+.# +..# +@ +.@`+@+....@+.@` +..#+@`+@    +..@  +..@#...@` +.@#@ +.#+.@+...@  +@`+.@+@+...@+.@ +..@+.@`+@` +..@+@+@+.#  +..@   +@ +@`+....@+@ +@+@ +@   +.@` +@+.@#@ 
   @ @@@@@@@@@@@@`    # @`@` @`@` @@ # @` # @@ # @`@@@    @@`@` @` #@@`@@    #  @  @  @@   @` @`@@@ @ #@ @@`  @  @@`@`@@@@`  @@`@ @  @@`@`@@` #  @@@@@@ #  @  @   #@ @@`@    @@@ #@@@ #@   # @` #@@`@@@ 
   @ @@@@@@@@@@@@`    # @`@` @`@` @@ # @` # @@ # @`@@@    @@`@` @` #@@`@@    #  @  @  @@   @` @`@@@ @ #@ #@`  @  @@`@`@@@@`  #@`@ @  @@`@`@@` #  @@@@@@ #  @  @   #@ #@`@    @@@ #@@@ #@   # @` #@@`@@@ 
   @ #@@@@@@@@@@@`    # @`@` @`@` @@ # @` # @@ # @`@@@    @@`@` @` #@@`@@    #  @  @  @@   @` @`@@@ @ #@ #@`  @  @@`@`@@@@`  #@`@ @  @@`@`@@` #  #@@@@@ #  @  @   #@ #@`@    @@@ #@@@ #@   # @` #@@`@@@ 
  +@#```````````@`   #@#@#@`#@#@`#`@#@#@`#@#`@#@#@#``@   +`@#@`#@`#.`@#`#   #@ #@ +@ #`#  #@`#@#``@#@#.@#`@` #@ +`@#@#```@` #`@#@#@ +`@#@#`@`#@ #`````@#@ #@ +@  #.@#`@#@   +``@#.``@#.@  #@#@`#.`@#``@ 
  #@@`          #`   @@@@@@`@@@@`@ @@@@@`@@@ @@@@@@  @   # @@@`@@`@` @@ #   @@ @@ #@ # #  #@`@@@  @@@@`@@`#` @@ # @@@@   @` @`#@@@@ # @@@@ @`@@ @`    @@@ @@ #@  @`@@`#@@   #  @@`  @@`@  @@@@`@` @@  @ 
  #@@`          @`   @@@@@@`@@@@`@ @@@@@`@@@ @@@@@@  @   # @@@`@@`@` @@ #   @@ @@ #@ # #  @@`@@@  @@@@`@@`@` @@ # @@@@   @` @`@@@@@ # @@@@ @`@@ @`    @@@ @@ #@  @`@@`@@@   #  @@`  @@`@  @@@@`@` @@  @ 
  #@@`          @`   @@@@@@`@@@@`@ @@@@@`@@@ @@@@@@  @   # @@@`@@`@` @@ #   @@ @@ #@ # #  @@`@@@  @@@@`@@`@` @@ # @@@@   @` @`@@@@@ # @@@@ @`@@ @`    @@@ @@ #@  @`@@`@@@   #  @@`  @@`@  @@@@`@` @@  @ 
 ',,@`         ;@`  ;,,,,,@',,,@'@',,,,@',,@',,,,,@ ;@  '@',,@',@'@`',@'@  ;,#',@',@'@'@ ',@',,@ ;,,,@',@'@`',@'@',,,#  '@`'@',,,,@'@',,,#'@',#'@`   ',,#',@',@ '@',@',,@  '@ ',@` ',@'@ ;,,,@'@`',@ ;@ 
 @` @`         #@`  #     @@   @@@@`   @@  @@`    # #@  @@@  @@ @@@`@ #@@  # #@ #@`@@@@@ @`@@  @ #   @@ @@@`@ #@@@   #  @@`@@@    #@@@   #@@@ #@@`   @` #@ #@`@ @@@ @@  @  @@ @`@` @`@@@ #   @@@`@ @ #@ 
 @` @`         @@`  @     @@   @@@@`   @@  @@`    @ #@  @@@  @@ @@@`@ @@@  # #@ @@`@@@@@ @`@@  # #   @@ @@@`@ @@@@   #  @@`@@@    @@@@   #@@@ #@@`   @` #@ @@`@ @@@ @@  @  @@ @`@` @`@@@ #   @@@`@ # #@ 
 @` @`         #@`  #     @@   @@@@`   @@  @@`    # #@  @@@  @@ @@@`@ #@@  # #@ #@`@@@@@ @`@@  # #   @@ @@@`@ #@@@   #  #@`@@@    #@@@   #@@@ #@@`   @` #@ #@`@ #@@ @@  @  @@ @`@` @`@@@ @   @@@`@ # #@ 
#@`#@`        #`@` #@    +`#  +```@`  #`@ +`@`   #@#.@ +``@ +`##``@#@#``# #@#.@#.@#````##@#`# #@#@  +`##``@#@#```@  +@ #.@#``@   #```@  +.``@#.`@`  #@`+.@#`@#@#``##`@ +@ +`##@#@`#@#``@#@  #``@#@#@#.@#
@@`@@`        @`@` @@    @ #  @   @`  @ # # @`   @@@`@ @  @ @ #@  @@@@` # @@@`@@`@@    #@@@ # @@@@  @ #@  @@@@`  @  @@ @`@@  @   @`  @  @`  @@` @`  @@`@`@@`@@@@` #@ @ #@ @ #@@@@`@@@  @@@  @  @@@@@@`@@
@@`@@`        @`@` @@    @ #  @   @`  @ # # @`   @@@`@ @  @ @ #@  @@@@` # @@@`@@`@@    #@@@ # @@@@  @ #@  @@@@`  @  @@ @`@@  @   @`  @  @`  @@` @`  @@`@`@@`@@@@` #@ @ #@ @ #@@@@`@@@  @@@  @  @@@@@@`@@
@@`@@`        @`@` @@    # #  @   @`  @ # # @`   @@@`@ #  @ # #@  @@@@` # @@@`@@`@@    #@@@ # @@@@  # #@  @@@@`  @  @@ @`@@  #   @`  @  @`  @@` @`  @@`@`@@`@@@@` #@ # #@ # #@@@@`@@@  @@@  @  @@@@@@`@@
 @@`@`       #@@@`# #   @@@@ @@  #@` #@@@@@@@`  #  @@@@@ #@@@@`@ #   @`#@@  @@`@@ #   #`  #@@@   # @@@`@ #   @` #@ # #@@@ # @@  #@` #@ #@` @`@`#@` #`@@@@`@@   @`#`@@@@`@@@@`   @@` # #` # #@ #     @@`@
 @@ @`       @@@@`@ @   @@@@ @@  @@` #@@@@@@@`  @  @@@@@ #@@@@`@ @   @`@@@  @@ @@ #   @`  #@@@   # @@@`@ @   @` #@ @ #@@@ # @@  @@` #@ @@` @`@`@@` # @@@@ @@   @`@`@@@@`@@@@`   @@  @ #  @ #@ @     @@ @
 @@ @`       @@@@`@ @   @@@@ @@  @@` #@@@@@@@`  @  @@@@@ #@@@@`@ @   @`@@@  @@ @@ #   @`  @@@@   # @@@`@ @   @` #@ @ #@@@ # @@  @@` #@ @@` @`@`@@` # @@@@ @@   @`@`@@@@`@@@@`   @@  @ #  @ #@ @     @@ @
 @@ @`       @@@@`@ #   @@@@ @@  @@` #@@@@@@@`  @  @@@@@ #@@@@`@ #   @`@@@  @@ @@ #   @`  @@@@   # @@@`@ #   @` #@ # #@@@ # @@  @@` #@ @@` @`@`@@` # @@@@ @@   @`@`@@@@`@@@@`   @@  @ #  # #@ #     @@ @
+.#+@`      '...@+@+@  +...#+.@ '.@`+,......@` '@ +....@+,...@+@+@  +@+..@ +.#+.@+@  +@` +...@  +@+..@+@+@  +@`+,@+@+,..@+@+.@ '.@`+,@+.@`+@+@+.@`+@+...#+.@  +@+@+...@+...@`  +.# +@+@ +@+,@+@    +.#+.
@ #@@`      #   #@@@@  @   #@ @ # @`@`      @` #@ @    @@`   @@@@@  @@@  @ @ #@ @@@  @@` @`  @  @@@  @@@@@  @@`@`@@@@`  @@@@ @ # @`@`@@`#`@@@@@ @`@@@   #@ @  @@@@@   #@   @`  @ # @@@@ @@@`@@@    @ #@ 
@ #@@`      #   @@@@@  @   #@ @ # @`@`      @` #@ @    @@`   @@@@@  @@@  @ @ #@ @@@  @@` @`  @  @@@  @@@@@  @@`@`@@@@`  @@@@ @ # @`@`@@`@`@@@@@ @`@@@   #@ @  @@@@@   @@   @`  @ # @@@@ @@@`@@@    @ #@ 
@ #@@`      #   @@@@@  @   #@ @ # @`@`      @` #@ #    #@`   @@@@@  @@@  @ @ #@ #@@  #@` @`  @  @@@  @@@@@  @@`@`@@@@`  #@@@ @ # @`@`@@`@`@@@@@ @`@@@   #@ #  @@@@@   @@   @`  @ # @@@@ @@@`@@@    @ #@ 
@#.`@`     #@  +````@ +@  #.@#@#@#@#@`     #@`#.@#@   #`@`  +````@ +``@ +@#@#.@#``# #`@`+@` +@ +``@ +````@ +`@#@#```@` #```@#@#@#@#@#`@#@#````##@#``@  #.@#@ +````#  #`#  +@` #@#@#```##``@#``@   #@#.@#
@@` @`     @@  @    # #@  @`@@@@@@@@@`     @@`@`@@@   @`@`  @    @ #  # #@@@@`@@` # @`@`@@` #@ @  @ @    @ # @@@@   @` @`  @@@@@@@@@@ @@@@    #@@@  @  @`@@@ #    #  @ #  @@` @@@@@   #@  @@  #   @@@`@@
@@` @`     @@  #    # #@  @`@@@@@@@@@`     @@`@`@@@   @`@`  @    @ #  @ #@@@@`@@` # @`@`@@` #@ #  @ @    @ # @@@@   @` @`  @@@@@@@@@@ @@@@    #@@@  @  @`@@@ #    #  @ #  @@` @@@@@   #@  @@  @   @@@`@@
@@` @`     @@  #    # #@  @`@@@@@@@@@`     @@`@`@@@   @`@`  @    @ #  @ #@@@@`@@` # @`@`@@` #@ #  @ @    @ # @@@@   @` @`  @@@@@@@@@@ @@@@    #@@@  @  @`@@@ #    #  @ #  @@` @@@@@   #@  @@  @   @@@`@@
:@`;@`    ;:# ;@   ;@;:@ ;@'::::::::@`    ;:@;@'::@  ;@;@` ;@   ;@;# ;@;::::@':@`;#;@;@':@`;:@;@ ;@;@   ;@;#;:::#  ;@`;@` ;:::::::::#;:::#   ;:::@ ;@ ;@'::@;#   ;# ;@;# ;:@`;::::@  ;:@ ;:# ;@  ;::@':@
 @`@@`    @ # @@   @@@`@ @@@        @`    # @@@@  @  @@@@` @@   @@@@ @@@`   @@ @`@@@@@@@ @`@`@@@ #@@@   @@@@@   #  @@`@@` #         #@   #   @`  # #@ @@@  @@@   @@ @@@@ @`@`@    @  @`@ # # @@  @  @@ @
 @`@@`    @ # @@   @@@`@ @@@        @`    # @@@@  @  @@@@` @@   @@@@ @@@`   @@ @`@@@@@@@ @`@`@@@ #@@@   @@@@@   #  @@`@@` #         #@   #   @`  # #@ @@@  @@@   @@ @@@@ @`@`@    @  @`@ # # @@  @  @@ @
 @`@@`    # # @@   @@@`@ @@@        @`    # @@@@  #  @@@@` @@   @@@@ @@@`   @@ @`@@@@@@@ @`@`@@@ #@@@   @@@@@   #  #@`@@` #         #@   #   @`  # #@ @@@  @@@   @@ @@@@ @`@`@    @  @`@ # # @@  @  @@ @
+@#.@`   +@+@#`@  +`.@#@+..#       +@`   +@#`..# +@ +...@`+`@  +`..##`.@`  +.##@#......##@+@#..@+...@  +`...@  +@ +.@#.@`+@        +.@  +@  +@` +@+.@#..# +..#  +.##`..##@+@#@   +@ +@#@+@+@+`@ +@ +.##`
@@@ @`   @@@@@ #  @  @@@@` #       @@`   #@@   # @@ #   @`@ @  @   #@  @`  # #@@@      #@@@@@  #@`  @  @    @  #@ @`@@ @`#@        @`@  @@  @@` @@@`@@` # @` #  @ #@   #@@@@@@   #@ @@@@@@@@@ @ #@ # #@ 
@@@ @`   @@@@@ #  @  @@@@` #       @@`   @@@   # @@ #   @`@ @  @   #@  @`  @ #@@@      #@@@@@  @@`  @  @    @  @@ @`@@ @`@@        @`@  @@  @@` @@@`@@` # @` #  @ #@   #@@@@@@   #@ @@@@@@@@@ @ #@ # #@ 
@@@ @`   @@@@@ @  @  @@@@` #       @@`   @@@   # @@ #   @`@ #  @   #@  @`  @ #@@@      #@@@@@  #@`  #  @    @  @@ @`@@ @`@@        @`@  @@  @@` @@@`@@` # @` #  # #@   #@@@@@@   #@ #@@@@@@@@ # #@ # #@ 
 @@ @`#`    #` #@@@#@` @   # @` #@@` +@  @.   #`# `     @@`  #@` #  @#@`   @ #`@@  #@` #`@@@.   @`     @#`  @#@`#@`#`#@ #` #@@@`   @@` #`#@@`  #@`@`@@@  #@@  #@`#`@  #@` @@.@#@@@`#@`#@@` #`#`#`@ #@@@#
 @@ @`@`    #  #@@@@@  @   # @` #@@` #@  @`   @`@       @@   @@  #  @@@    @ # @@  @@` # @@@`   @`     @@`  @@@ #@ # #@ @  @@@@`   @@  @ #@@`  @@`@`@@@  @@@  @@`@`@  @@  @@`@@@@@ @@ #@@` # @`@`@ #@@@@
 @@ @`@`    #  @@@@@@  @   # @` #@@` #@  @`   @`@       @@   @@  @  @@@    @ # @@  @@` # @@@`   @`     @@`  @@@ #@ @ #@ @  @@@@`   @@  @ #@@`  @@`@`@@@  @@@  @@`@`@  @@  @@`@@@@@ @@ #@@` # @`@`@ @@@@@
 @@ @`@`    #  #@@@@@  @   # @` #@@` #@  @`   @`@       @@   @@  @  @@@    @ # @@  @@` # @@@`   @`     @@`  @@@ #@ @ #@ @  @@@@`   @@  @ #@@`  @@`@`@@@  @@@  @@`@`@  @@  @@`@@@@@ @@ #@@` # @`@`@ #@@@@
+.. . .'++++@++,@,@..'+@+++@+@++,@@++,.++@++++@+@+++++++..'++..'+@++,@@++++@+@+..'+,.'+@+.@@++++@++++++,.'++,@@+,. . #@+@++,@,.'+++..'+@+,@@+++,. . @..'+,@@++,. . .++..'+,. @.@,. @@+,@@++@+@+@+@+,@,@.
@      #@@@@@@@`@`@  @@@@@@@@@@@`@@@@` @@@@@@@@@@@@@@@@@  @@@  @@@@@ @@@@@@@@@@  @@  @@@@ @@@@@@@@@@@@@  @@@ @@@`    #@@@@@ @` #@@@  @@@@`@@@@@     @  @@ @@@@      @@  @@`  @ #   @@@`@@@@@@@@@@@@`@`@ 
@      #@@@@@@@`@`@  @@@@@@@@@@@`@@@@` @@@@@@@@@@@@@@@@@  @@@  @@@@@ @@@@@@@@@@  @@  @@@@ @@@@@@@@@@@@@  @@@ @@@`    #@@@@@ @` #@@@  @@@@`@@@@@     @  @@ @@@@      @@  @@`  @ #   @@@`@@@@@@@@@@@@`@`@ 
@      #@@@@@@@`@`@  @@@@@@@@@@@`@@@@` @@@@@@@@@@@@@@@@@  @@@  @@@@@ @@@@@@@@@@  @@  #@@@ @@@@@@@@@@@@@  #@@ @@@`    #@@@@@ @` #@@@  @@@@`@@@@@     @  @@ @@@@      @@  @@`  @ @   @@@`@@@@@@@@@@@@`@`@ 
`+#####.@`@`#`` ` `+#`#`@`@.@`@@#`@``+#`@`#`@`@.@`@`#`@@##`@@##`@`@@#`@`#`@`@.`##``+#`@.` #`#`@`@.@`@``+#`@@#`@@#####.@`@`` `+#.@``+#`@`` @`@``+####@##`` @`@@######``+#``+##@#@###`@@#`@`@.@`@`#`` ` `+
 @@@@@@`@ # #      @@ # @`@`@ #@@ @` #@ # # @`@`@ # # @@@@ @@@@ @`@@@ # # @`@` @@  @@`@`  # # @`@`@ #  @@`@@@ #@@@@@@`@ #    @@`@  @@ @`  @ #  @@@@@@@@   @`@@@@@@@@  @@  #@@@@@@@@ #@@ @`@`@ # #      @
 @@@@@@`@ @ #      @@ # @`@`@ @@@ @` #@ @ # @`@`@ @ # @@@@ @@@@ @`@@@ @ # @`@` @@  @@`@`  @ # @`@`@ @  @@`@@@ @@@@@@@`@ @    @@`@  @@ @`  @ @  @@@@@@@@   @`@@@@@@@@  @@  @@@@@@@@@ @@@ @`@`@ @ #      @
 @@@@@@`@ @ #      @@ # @`@`@ @@@ @` #@ @ # @`@`@ @ # @@@@ @@@@ @`@@@ @ # @`@` @@  @@`@`  # # @`@`@ #  @@`@@@ @@@@@@@`@ #    @@`@  @@ @`  @ #  @@@@@@@@   @`@@@@@@@@  @@  @@@@@@@@@ @@@ @`@`@ # #      @
;:#:@::`: : :;;;;;;:: : : :`: @:: :;;:: : : : :`: : : @:@@;:@:: : @;: : : : ::;::;;:: ::;;@;#;@;@;@;@;;:: @;: @:#:@::`: :;;;;::`:;;:: :;;;@;@;;:@:@;@::;;;@;:#:@:@;:;;::;;:@;@:@:#@;:@@;@;@;@;@;#;;;;;;:
@ # @`       @@@@@@           @    #@`                @`@@@ #     @`         #@  #@    #@@@@@@@@@@@@@@@   @`  @ # @`     #@@@`   @@    #@@@@@@@ @`@`@  #@@@@ # @`@` @@  @@`@`@ # #@@`@@@@@@@@@@@@@@@@@@ 
@ # @`       @@@@@@           #    @@`                @`@@@ #     @`         #@  @@    #@@@@@@@@@@@@@@@   @`  # # @`     @@@@`   @@    @@@@@@@@ @`@`@  @@@@@ # @`@` @@  @@`@`@ @ #@@`@@@@@@@@@@@@@@@@@@ 
@ # @`       @@@@@@           #    #@`                @`@@@ #     @`         #@  @@    #@@@@@@@@@@@@@@@   @`  # # @`     @@@@`   @@    #@@@@@@@ @`@`@  @@@@@ # @`@` @@  @@`@`@ @ #@@`@@@@@@@@@@@@@@@@@@ 
. . .++++++++.@.@,.+++++++++++@++++..'++++++++++++++++@+.#@+@+++++@++++++++++,.++..++++,@.@.#.@.@,@.@..+++@+++@+@+@++++++.#..++++..++++.@,@.@.. . . .++.#.@@+@+@+@++..++.. . . . #.. @,@.@.#.@.@,@.@.#@+
     @@@@@@@@ @`@` @@@@@@@@@@@@@@@@` #@@@@@@@@@@@@@@@@@@ #@@@@@@@@@@@@@@@@@@@` @@  @@@@`@ @ # @`@`@ @  @@@@@@@@@@@@@@@@@@ #  @@@@  @@@@`@`@ @        @@ # @@@@@@@@@@  @@         #   @`@ # # @`@`@ # #@@
     @@@@@@@@ @`@` @@@@@@@@@@@@@@@@` #@@@@@@@@@@@@@@@@@@ #@@@@@@@@@@@@@@@@@@@` @@  @@@@`@ @ # @`@`@ #  @@@@@@@@@@@@@@@@@@ #  @@@@  @@@@`@`@ #        @@ # @@@@@@@@@@  @@         #   @`@ @ # @`@`@ @ #@@
     @@@@@@@@ @`@` @@@@@@@@@@@@@@@@` #@@@@@@@@@@@@@@@@@@ #@@@@@@@@@@@@@@@@@@@` @@  @@@@`@ @ # @`@`@ #  @@@@@@@@@@@@@@@@@@ #  @@@@  @@@@`@`@ #        @@ # @@@@@@@@@@  @@         #   @`@ @ # @`@`@ @ #@@
#####`@.@`@`` ` `+#`@`#`@`@.@`@`#``##.@`@`#`@`@.@`@`#`@@#.@`@`#`@`@.@`@`#`@``+#``##`@`` ` ` ` ` ` ` `##`@`@.@`@`#`@`@.@`` `##`@.`##`#`` ` ` `########`` ` @`@.@`@`#@##``#########@###@#@#@#@#@#@#@#@#.@`
@@@@@`@`@ #      #@ # # @`@`@ # #  @@`@ # # @`@`@ # # @@@`@ # # @`@`@ # # @` #@  @@ @`               @@ @`@`@ # # @`@`@    @@`@` @@ #        @@@@@@@@     @`@`@ # #@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@`@ 
@@@@@`@`@ #      #@ # # @`@`@ # #  @@`@ # # @`@`@ # # @@@`@ # # @`@`@ # # @` #@  @@ @`               @@ @`@`@ # # @`@`@    @@`@` @@ #        @@@@@@@@     @`@`@ # #@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@`@ 
@@@@@`@`@ @      #@ # # @`@`@ # #  @@`@ # # @`@`@ # # @@@`@ @ # @`@`@ @ # @` #@  @@ @`               @@ @`@`@ @ # @`@`@    @@`@` @@ #        @@@@@@@@     @`@`@ @ #@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@`@ 
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################