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