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