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