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