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