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

Пусть стоимость произвольной скобочной строки — это длина её максимальной подпоследовательности$$$^{\text{∗}}$$$, которая является правильной скобочной последовательностью$$$^{\text{†}}$$$.

Дана скобочная строка $$$s$$$ и целое число $$$k$$$. Ваша задача удалить из строки $$$s$$$ не более $$$k$$$ символов, таким образом, чтобы стоимость получившейся строки была минимальной.

$$$^{\text{∗}}$$$Последовательность $$$a$$$ является подпоследовательностью $$$b$$$, если $$$a$$$ может быть получена из $$$b$$$ удалением нескольких (возможно, ни одного или всех) элементов на произвольных позициях.

$$$^{\text{†}}$$$Скобочная последовательность называется правильной, если в неё можно вставить символы $$$+$$$ и $$$1$$$ так, чтобы получить корректное арифметическое выражение. Например, последовательности «$$$\texttt{(())()}$$$», «$$$\texttt{()}$$$» и «$$$\texttt{(()(()))}$$$» являются правильными, а «$$$\texttt{)(}$$$», «$$$\texttt{(()}$$$» и «$$$\texttt{(()))(}$$$» — нет.

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

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

В первой строке каждого набора входных данных содержатся два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 5\,000$$$; $$$0 \le k \le n$$$) — длина строки $$$s$$$ и максимальное количество удалений.

Во второй строке каждого набора входных данных содержится $$$s$$$ длины $$$n$$$ и состоящая из символов «$$$\texttt{(}$$$» и «$$$\texttt{)}$$$».

Дополнительные ограничения на входные данные:

  • сумма $$$n$$$ по всем наборам входных данных не превосходит $$$5\,000$$$.
Выходные данные

Для каждого набора входных данных выведите бинарную строку длины $$$n$$$. $$$i$$$-й символ должен быть равен «1», если соответствующий символ строки $$$s$$$ удаляется, и «0» иначе.

Количество единиц в строке не должно превышать $$$k$$$. Стоимость строки, полученной после удаления отмеченных символов, должна быть минимально возможной.

Если существует несколько ответов, выведите любой.

Пример
Входные данные
10
2 1
)(
2 0
()
4 1
(())
4 1
())(
5 1
((())
6 2
()()()
6 2
(()())
6 2
())(()
7 3
(()((()
10 3
(()())())(
Выходные данные
00
00
1000
1000
00010
101000
001001
100001
1100001
0101001000
Примечание

В первом наборе стоимость строки уже равна $$$0$$$, поэтому можно ничего не удалять.

В третьем наборе после одного удаления невозможно получить строку стоимости $$$0$$$, но можно получить строку стоимости $$$2$$$, удалив любой символ.