Вам задана строка $$$s$$$ состоящая только из символов + и -. Вы выполняете некоторый процесс с этой строкой. Этот процесс можно описать следующим псевдокодом:
res = 0
for init = 0 to inf
cur = init
ok = true
for i = 1 to |s|
res = res + 1
if s[i] == '+'
cur = cur + 1
else
cur = cur - 1
if cur < 0
ok = false
break
if ok
break
Обратите внимание, что $$$inf$$$ обозначает бесконечность, а символы строки пронумерованы от $$$1$$$ до $$$|s|$$$.
Вам нужно определить значение переменной $$$res$$$ после выполнения процесса.
Первая строка содержит целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных.
Единственная строка каждого набора входных данных содержит строку $$$s$$$ ($$$1 \le |s| \le 10^6$$$), состоящую только из символов + и -.
Гарантируется, что сумма $$$|s|$$$ по всем наборам входных данных не превосходит $$$10^6$$$.
На каждый набор входных данных выведите ответ — значение переменной $$$res$$$ после завершения процесса.
3 --+- --- ++--+-
7 9 6
Название |
---|