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