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