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