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