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