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