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