+++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:ble>
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::++++:+:+:+::::+++::::::+++  
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
 
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
       +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
       +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
     +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
        
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++ble>
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++ble>
        
 
 
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
   
      
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++
   
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:ble>
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::++++:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::

 
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+: at ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++:::::: ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++:::::: v ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+:::: +::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+ble>
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++    
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:ble>
         +++ ::::::::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::++++:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++::::+::::+::+:+:+:+:+:::+:+:+:+:+:+:+:+:+::::+++::::::+++