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