####################################################################################################
#S        #         ###########        #                #        #########        #                #
# ####### ######### ########### ###### ######## ######## ######## ######## ######## ########## #####
#       #         #           #      #        #        #        #        #        #        #      #
######## ######### ######### ######## ######## ######## ######## ######## ######## ######## #######
#        #       # #       #        #        #        #        #        #        #        #       #
# ######## ##### # # ##### ######## ######## ######## ######## ######## ######## ######## #########
#        #     # # #     #        #        #        #        #        #        #        #        #
######## ####### # ####### ######## ######## ######## ######## ######## ######## ######## #########
#      #         #         #      #        #        #        #        #        #        #        #
# #### ######## ######## ######## ######## ######## ######## ######## ######## ######## ###########
#    #        #        #        #        #        #        #        #        #        #         E#
####################################################################################################
