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