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