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