text: """
      Условие задачи
  
      Посчитать 'вес' последовательности скобок по првилу:
      () = 1, ()() = ()+(), (А) = 2*А, где А - последовательность скобок
      Примеры:
      ()()() = 3
      (()) = 2
      ()(()())(()(()())) = 1+2*(1+1)+2*(1+2*(1+1)) = 15
  
      Предполагается, что последовательность скобок корректная, т.е. для каждой открывающей есть своя закрыввющая
  """
  
  
  def weight(st, mult=1):
      if st == '':
          return mult // 2
      else:
          mult *= 2
          a = split_str(st)
          sum = 0
          for i in a:
              sum += weight(i[1:-1], mult)
          return sum
  
  
  def split_str(st):
      buf = 0
      arr = []
      s = ''
      for i in range(0, len(st)):
          char = st[i]
          if char == '(':
              buf += 1
              s += char
          else:
              buf -= 1
              s += char
              if buf == 0:
                  arr.append(s)
                  s = ''
      return arr
  
  
  st = '()(()())(()(()()))'
  
  print(weight(st))