                    ##                              ####                            
                    #####                         ###++#                            
                    #+++###                     ###++++##                           
                    ##+++++###          #########+++++++#                           
                    ##++++++++########+++++++##+++++++++##                          
                    ##+++++++++++++++++++++++++++++++++++##                         
                     #+++++++++++++++++++++++++++++++++++++##                       
                     #++++++++++++++++++++++++++++++++++###++##                     
                     ##+++++++++++++++++++++++++++++#-----++#++##                   
                     ##+++++++#++--++#+++++++++++++#+--------+#+##                  
                    ##+++++++#+-------+#+++++++++++#+---------+#+##                 
                   ##++++++++#----------##++++++++++#-------++-+#+##                
                  ##+++++++++#-----------##++++++++++#-----###+-#+##                
                  #++++++++++#+------+##+-#+++++++++++#+---+##--#++#                
            ###  ##+++++++++++##-----+##--#++++++++++++##+-----+#--++##           ##
             #####+++++++++++++##+--------#+++++########+###++#+-------+##     #####
                ##++#++++++++++--++++----#+----+#########---------------+########   
                ##++++#+++++++------+++++--------#######-----------------+##        
                ##+++++++++++----------------------++++-------------------+#        
            ############++++-----------##++++++--------------------------+##        
                 ##+++++++++-----------#-----+++++++++######+#------------######### 
                  ##++++++++-----------#+-------------------#+-----------##         
                   ##+++++++-----------+#------------------##-----------##          
                    ###++++++-----------+#+-------------++#+----------+##           
                      ###+++++------------+#++-------++#++----------+##             
                        ###+++++------------++++++++++----------++###               
                          #####++++------------------------++++###                  
                      ####++++++######+++++---------+++++#####                      
##+++#              ###+++++++++##+++++################                             
#+---+##          ##+++++++++++##+++++++++++++####        ####                      
#------+#        ##++++++++++##+++++++++++++++#++###   ####+++##                    
#-------+#      ##++++++++###+++++++-------+++#++++#####+++++++##                   
#+--------##    ##++++++++#++++++++---------+#++++++++++++++++##                    
##----+++++####  ##++++++++#+++++++---------+##++++++++++++++##                     
 ##--+++++++++######++++++++#+++++++-------+# ###++++++++++##                       
  ##++++++++++++++###++++++++#++++++++----##    ###########                         
    ###++++++++++++++##+++++#++++++++++++#                                          
       ######+++++++#######++##++++++++++###                                        
            ########++++++++++++#++++++++++###                                      
       #########++++++++++++++#####++++++++++##                                     
      ##+++++++++++++++++++###     ##++++++++++##                                   
      ##+++++++++++++++####         ###++++++++++###                                
      ##++++++++++######              ###++++++++++############                     
       ##+++++++++##                    ###+++++++++++++++++++####                  
        ##+++++++++##                     ###++++++++++++++++++++#                  
         ###++++++++#                       ###++++++++++++++++++#                  
           ##++++++##                         ###++++++++++++++###                  
             #######                            ################                    