В далёкой галактике проходит ежегодный Космический турнир по бластерболу. Правила подсчёта очков необычны:
- Каждое попадание
x приносит базовые очки
- Капитан может активировать силовое поле, введя символ
( — пока оно активно, все очки удваиваются
- Деактивация поля происходит по вводу символа
) — возврат к обычному режиму
- Силовые поля могут быть вложенными — тогда множители перемножаются!
Запись матча — строка из символов x, ( и ). Подсчитай итоговый счёт команды.
Пример
Запись матча: xx(x(xx)x)x
| Символ |
Множитель |
Очки |
Пояснение |
x |
×1 |
+1 |
Обычный режим |
x |
×1 |
+1 |
Обычный режим |
( |
— |
— |
Поле активировано, ×2 |
x |
×2 |
+2 |
Внутри поля |
( |
— |
— |
Второе поле, ×4 |
x |
×4 |
+4 |
Двойная вложенность |
x |
×4 |
+4 |
Двойная вложенность |
) |
— |
— |
Внутреннее поле снято, ×2 |
x |
×2 |
+2 |
Снова одинарное поле |
) |
— |
— |
Все поля сняты, ×1 |
x |
×1 |
+1 |
Обычный режим |
Итого: 1 + 1 + 2 + 4 + 4 + 2 + 1 = 15
Формат ввода
Одна строка, содержащая запись матча.
- Символы:
x (попадание), ( (активация поля), ) (деактивация)
- Длина строки: 1 ≤ |s| ≤ 10⁵
- Гарантируется корректность скобочной последовательности
Формат вывода
Одно целое число — итоговый счёт команды.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
xxx
|
3
|
|
2
|
(xx)
|
4
|
|
3
|
xx(x(xx)x)x
|
15
|
|
4
|
((x))
|
4
|