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