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