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