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