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