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