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