         .-++**##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@#*=:          
       .:=*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*=:          
       :=*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*=:.         
      .:=*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+-.         
       :=*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+-.         
       :=*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*-.         
       :=*#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#+=--+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=.         
       .-++*#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+=+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:         
        ::-=+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@+         
          .:=%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.        
           .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-        
           :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=        
           #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+        
          -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+        
          %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%****##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@%=        
         -@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:.       .-*%@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@%=*+:        
         #@@@@@@@@@@@@@@@@@@@@@@@@@*:               .---.-@@@@@@@@@@@@@@@@@@@@@@@@@*::-.        
        :@@@@@@@@@@@@@@@@@@@@@@@@%-                      *@@@@@@@@@@@@@@@@@@@@@@@@#-            
        =@@@@@@@@@@@@@@@@@@@@@@@#:                       %@@@@@@@@@@@@@@@@@@@@@@@@=             
        *@@@@@@@@@@@@@@@@@@@@@@@:                        =%@@@@@@@@@@@@@@@@@@@@@@*.             
        *@@@@@@@@@@@@@@@@@@@@@@*       -=+=-:::..    .:-+#@@@@@@@@@@@@@@@@@@@@@@#.              
        #@@@@@@@@@@@@@@@@@@@@@@+     .*@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:               
        #@@@@@@@@@@@@@@@@@@@@@@*     =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.                
        *@@@@@@@@@@@@@@@@@@@@@@%.    -%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%=                  
        +@@@@@@@@@@@@@@@@@@@@@@@+     +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:                   
        -@@@@@@@@@@@@@@@@@@@@@@@@-    .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:         .           
        :#@@@@@@@@@@@@@@@@@@@@@@@@=     -#@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:         :-            
         +@@@@@@@@@@@@@@@@@@@@@@@@@+.     -*@@@@@@@@@@@@@@@@@@@@@@@%*-.        .-=-             
         :%@@@@@@@@@@@@@@@@@@@@@@@@@#-      .-+#@@@@@@@@@@@@@@%#*=:          :===:              
         .+@@@@@@@@@@@@@@@@@@@@@@@@@@@#-        .:--++++++==-:.          .:=+=-.                
          -#@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:                          .:=++=-.                   
          -+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+=:.              ..:-==++=-:                       
         .-+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#**+++++++++++==-:.                           
          :=#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##*++==----------:.                    
          :=*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#*+=:                    
          :=+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:                     
