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