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