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