Правильная скобочная последовательность — это скобочная последовательность, которую можно превратить в корректное арифметическое выражение, вставив символы «1» и «+» между исходными символами. Например:
Последовательность скобок называется красивой, если выполняется одно из следующих условий:
Например, скобочные последовательности «()()», «(())», «))((», «))()((» являются красивыми.
Вам дана последовательность скобок $$$s$$$. Вы должны раскрасить ее таким образом, чтобы:
Раскрасьте заданную последовательность скобок $$$s$$$ в минимальное количество цветов в соответствии с этими ограничениями, или сообщите, что это невозможно.
В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Каждый набор входных данных состоит из двух строк. В первой строке задано целое число $$$n$$$ ($$$2 \le n \le 2 \cdot 10^5$$$) — количество символов в $$$s$$$. Во второй строке задана $$$s$$$ — строка из $$$n$$$ символов, каждый из которых либо «(», либо «)».
Дополнительное ограничение на входные данные: сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите ответ следующим образом:
48((())))(4(())4))((3(()
2 2 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 -1
Название |
---|