← К соревнованиям

Sort Me Round

Запросы на ПСП

Сложность: 71%

Правильная скобочная последовательность - это последовательность скобок (символов ( и )), в которой каждой открывающей скобке найдётся закрывающая. Представьте, например, что мы записали какое-то большое матетематическое выражение, а затем оставили от него только скобки - получится правильная скобочная последовательность.

Более формальное определение:

  • Пустая строка есть правильная скобочная последовательность;
  • Пусть SS — правильная скобочная последовательность, тогда (S)(S) есть правильная скобочная последовательность;
  • Пусть S1,S2S1, S2 — правильные скобочные последовательности, тогда S1S2S1S2 есть правильная скобочная последовательность.

Вам задана скобочная последовательность длины nn (не обязательно правильная), и qq запросов вида [l;r][l; r]. Для каждого запроса найдите число таких подотрезков [a;b][a; b], что la<brl \le a < b \le r, а скобочки с aa-ой по bb-ую образуют правильную скобочную последовательность.

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

В первой строке записаны числа nn и qq – длина скобочной последовательности и количество запросов (1n,q21051 \le n, q \le 2 \cdot 10^5).

В следующей строке записано nn символов ( и ) – скобочная последовательность, в которой следует искать подотрезки.

В следующей строке записано число qq – количество запросов. Дальнешие qq строк содержат по два числа lil_i и rir_i – ограничения для ii-того запроса (1li<rin1 \le l_i < r_i \le n).

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

В ответ на каждый запрос выведите одно число – количество способов выбрать индексы aa и bb так, что что la<brl \le a < b \le r, а скобочки с aa-ой по bb-ую образуют правильную скобочную последовательность.

Подзадачи

баллынеобх. подзадачиограничения
1

8

-

n,q100n, q \le 100

2

12

1

n104;q200n \le 10^4; q \le 200

3

15

2

q200q \le 200

4

10

-

li=1l_i = 1

5

9

-

Последовательность является конкатенацией любого количества последовательностей () и (())

6

20

2

n,q50000n, q \le 50000

7

26

4, 5, 6

Нет дополнительных ограничений

STDINSTDOUT
6 2
()(())
2 6
1 4
2
1