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