#####   #          #    #    #  #####
 #    #  #          #    ##   #  #    #
 #####   #          #    # #  #  #    #
 #    #  #          #    #  # #  #    #
 #    #  #          #    #   ##  #    #
 #####   ######     #    #    #  #####