E. Почини строку
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Правильная скобочная последовательность — это скобочная последовательность, которую можно превратить в корректное арифметическое выражение, вставив символы «1» и «+» между исходными символами. Например:

  • скобочные последовательности «()()» и «(())» — правильные (из них можно получить выражения «(1)+(1)» и «((1+1)+1)»);
  • скобочные последовательности «)(», «(» и «)» — неправильные.

Вам даны две строки $$$s$$$ и $$$a$$$, длина строки $$$s$$$ равна $$$n$$$, длина строки $$$a$$$ равна $$$n - 3$$$. Строка $$$s$$$ — скобочная последовательность (т. е. каждый элемент этой строки — либо символ открывающей скобки, либо символ закрывающей скобки). Строка $$$a$$$ — бинарная (т. е. каждый элемент этой строки — либо 1, либо 0).

Строка $$$a$$$ вводит ограничения на строку $$$s$$$: для каждого $$$i$$$, такого, что символ $$$a_i$$$ — это 1, строка $$$s_i s_{i+1} s_{i+2} s_{i+3}$$$ должна быть правильной скобочной последовательностью. Символы строки $$$a$$$, равные 0, не вводят никаких ограничений.

Изначально строка $$$s$$$ может не удовлетворять этим ограничениям. Чтобы это исправить, можно проводить следующую операцию любое кол-во раз: заменить некоторый символ $$$s$$$ скобкой другого типа (то есть можно менять открывающие скобки на закрывающие и наоборот).

Определите, можно ли поменять некоторые символы в $$$s$$$ таким образом, что она будет удовлетворять всем ограничениям, и если это возможно, посчитайте минимальное кол-во символов, которые надо заменить.

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

В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.

Каждый набор входных данных состоит из трех строк. В первой строке задано одно целое число $$$n$$$ ($$$4 \le n \le 2 \cdot 10^5$$$). Во второй строке задана строка $$$s$$$ из ровно $$$n$$$ символов; каждый символ $$$s$$$ — либо «(», либо «)». В третьей строке задана строка $$$a$$$ из ровно $$$n - 3$$$ символов; каждый символ $$$a$$$ — либо «1», либо «0».

Дополнительное ограничение на входные данные: сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.

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

Для каждого набора входных данных выведите одно целое число: минимальное количество символов, которое нужно поменять в $$$s$$$, или $$$-1$$$, если все ограничения выполнить невозможно.

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