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