A. Монстр
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Уилл застрял в Обратной стороне, но он все еще может общаться со своей мамой, Джойс, используя гирлянду (он может включать и выключать ее силой мысли). Он не может напрямую сказать маме, где он, потому что монстр, который унес его на Обратную сторону, узнает и спрячет его в другое место.

Поэтому он придумал задачу, чтобы сообщить маме свои координаты. Его координаты будут ответом на эту задачу.

Строка, состоящая только из скобок ('(' и ')'), называется скобочной последовательностью. Некоторые скобочные последовательности называются правильными скобочными последовательностями. Более формально:

  • Пустая строка является правильной скобочной последовательностью.
  • Если s является правильной скобочной последовательностью, то (s) тоже является правильной скобочной последовательностью.
  • Если s и t являются правильной скобочной последовательностью, то st (конкатенация s и t) тоже является правильной скобочной последовательностью.

Строка, состоящая из скобок и знаков вопроса ('?') называется красивой, если и только если есть способ заменить каждый из знаков вопроса на '(' или ')' так, чтобы получившаяся строка была непустой правильной скобочной последовательностью.

Уилл сообщил маме строку s, состоящую из скобок и знаков вопроса (используя код Морзе и гирлянду), его координаты равны числу пар чисел (l, r) таких, что 1 ≤ l ≤ r ≤ |s|, а строка slsl + 1... sr является красивой, где si — i-й символ строки s.

Джойс ничего не знает о скобочных последовательностях, поэтому она просит у вас помощи.

Входные данные

Первая и единственная строка содержит строку s, состоящую из символов '(', ')' и '?' (2 ≤ |s| ≤ 5000).

Выходные данные

Выведите ответ на задачу в единственной строке.

Примеры
Входные данные
((?))
Выходные данные
4
Входные данные
??()??
Выходные данные
7
Примечание

В первом примере следующие подстроки s являются красивыми:

  1. «(?», которая может быть преобразована в «()».
  2. «?)», которая может быть преобразована в «()».
  3. «((?)», которая может быть преобразована в «(())».
  4. «(?))», которая может быть преобразована в «(())».

Во втором примере следующие подстроки s являются красивыми:

  1. «??», которая может быть преобразована в «()».
  2. «()».
  3. «??()», которая может быть преобразована в «()()».
  4. «?()?», которая может быть преобразована в «(())».
  5. «??», которая может быть преобразована в «()».
  6. «()??», которая может быть преобразована в «()()».
  7. «??()??», которая может быть преобразована в «()()()».