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