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