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