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