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