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