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