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