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