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