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