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