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