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