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