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

Вам задана скобочная последовательность, состоящая из $$$n$$$ символов '(' и/или )'. Вы производите над ней последовательность операций.

В течение одной операции вы выбираете кратчайший префикс этой строки (какое-то количество первых символов строки), который является хорошим, и удаляете его из строки.

Префикс считается хорошим, если выполняется одно из следующих двух условий:

  • этот префикс является правильной скобочной последовательностью;
  • этот префикс является палиндромом длины хотя бы два.

Скобочная последовательность называется правильной, если из нее возможно получить корректное арифметическое выражение вставкой символов '+' и '1' в эту последовательность. Например, последовательности (())(), () и (()(())) являются правильными, когда )(, (() и (()))( ими не являются.

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

Вы прекращаете производить операции тогда, когда невозможно найти ни одного хорошего префикса. Ваша задача — найти количество операций, которые вы произведете, а также количество оставшихся в строке символов после всех операций.

Вам необходимо ответить на $$$t$$$ независимых наборов тестовых данных.

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

Первая строка входных данных содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов тестовых данных. Следующие $$$2t$$$ строк описывают сами наборы.

Первая строка набора содержит одно целое число $$$n$$$ ($$$1 \le n \le 5 \cdot 10^5$$$) — длину скобочной последовательности.

Вторая строка набора содержит $$$n$$$ символов '(' и/или ')' — саму скобочную последовательность.

Гарантируется, что сумма $$$n$$$ по всем наборам тестовых данных не превышает $$$5 \cdot 10^5$$$ ($$$\sum n \le 5 \cdot 10^5$$$).

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

На каждый набор тестовых данных выведите два целых числа $$$c$$$ и $$$r$$$ — количество операций, которые вы произведете над данной скобочной последовательностью и количество оставшихся в ней символов после всех операций.

Пример
Входные данные
5
2
()
3
())
4
((((
5
)((()
6
)((()(
Выходные данные
1 0
1 1
2 0
1 0
1 1