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