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