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