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