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