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