Монокарп имеет колоду карт, пронумерованных от $$$1$$$ до $$$n$$$. Изначально карты расположены от меньшей к большей, $$$1$$$ сверху и $$$n$$$ внизу.
Монокарп выполнил $$$k$$$ действий с колодой. Каждое действие было одного из трех типов:
Ваша задача — определить судьбу каждой карты: осталась ли она в колоде, была ли удалена или может быть и так, и так.
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le k \le n \le 2 \cdot 10^5$$$).
Вторая строка содержит строку $$$s$$$ длиной $$$k$$$, состоящую из символов 0, 1 и/или 2. Эта строка описывает действия Монокарпа. Если $$$i$$$-й символ равен 0, Монокарп убирает верхнюю карту в $$$i$$$-м действии. Если это 1, он убирает нижнюю карту. Если это 2, можно убрать либо верхнюю, либо нижнюю карту.
Дополнительное ограничение на входные данные: сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите строку, состоящую из $$$n$$$ символов. $$$i$$$-й символ должен быть + (плюс), если $$$i$$$-я карта все еще в колоде, - (минус), если она была удалена, или ? (вопросительный знак), если ее точное состояние неизвестно.
44 2013 2221 127 501201
-++-???---?+?--
| Название |
|---|


