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