C. Плюсы и минусы
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам задана строка $$$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