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