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