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