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