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