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