output_description: Print the answer.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      S
attempt: from collections import defaultdict
  
  
  def takahashi(s):
      a = defaultdict(lambda: 0)
      P = 0
      for c in s:
          if c == "+":
              a[P] += 1
          elif c == "-":
              a[P] -= 1
          elif c == ">":
              P += 1
          else:
              P -= 1
      keys = a.keys()
      return {k: v for k, v in a.items() if v != 0}
  
  
  def main():
      N = int(input())
      s = input()
      ans = takahashi(s)
      # print(ans)
      n = 0
      for i in range(N):
          for j in range(i + 1, N + 1):
              # print(s[i:j], takahashi(s[i:j]) == ans)
              if takahashi(s[i:j]) == ans:
                  n += 1
      print(n)
  
problem_description: Statement
  
  In Takahashi's mind, there is always an integer sequence of length 2 \times
  10^9 + 1: A = (A_{-10^9}, A_{-10^9 + 1}, ..., A_{10^9 - 1}, A_{10^9}) and an
  integer P.
  
  Initially, all the elements in the sequence A in Takahashi's mind are 0, and
  the value of the integer P is 0.
  
  When Takahashi eats symbols `+`, `-`, `>` and `<`, the sequence A and the
  integer P will change as follows:
  
    * When he eats `+`, the value of A_P increases by 1;
    * When he eats `-`, the value of A_P decreases by 1;
    * When he eats `>`, the value of P increases by 1;
    * When he eats `<`, the value of P decreases by 1.
  
  Takahashi has a string S of length N. Each character in S is one of the
  symbols `+`, `-`, `>` and `<`. He chose a pair of integers (i, j) such that 1
  \leq i \leq j \leq N and ate the symbols that are the i-th, (i+1)-th, ...,
  j-th characters in S, in this order. We heard that, after he finished eating,
  the sequence A became the same as if he had eaten all the symbols in S from
  first to last. How many such possible pairs (i, j) are there?
samples: [{"input": "5\n    +>+<-", "output": "3\n    \n\nIf Takahashi eats all the symbols in S, A_1 = 1 and all other elements would\nbe 0. The pairs (i, j) that leads to the same sequence A are as follows:\n\n  * (1, 5)\n  * (2, 3)\n  * (2, 4)\n\n* * *"}, {"input": "5\n    +>+-<", "output": "5\n    \n\nNote that the value of P may be different from the value when Takahashi eats\nall the symbols in S.\n\n* * *"}, {"input": "48\n    -+><<><><><>>>+-<<>->>><<><<-+<>><+<<>+><-+->><<", "output": "475"}]