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

Недавно K1o0n купил себе новый дорогой принтер, который отличается своей памятью, то есть может печатать не сразу. За вчерашний день, пока его не было рядом с новой покупкой, его друзья пользовались принтером.

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

  1. '1'  — сканирование. Документ $$$i$$$ отправляется в память устройства и ложится поверх всего, что там уже лежит.
  2. '2'  — печать из памяти. Если память не пуста, устройство печатает самый верхний документ памяти и удаляет его оттуда. Иначе устройство печатает документ $$$i$$$.
  3. '3'  — быстрая печать. Устройство печатает документ $$$i$$$.

Уже сегодня друзья пришли к K1o0n с претензией — не все документы распечатались. Помогите K1o0n найти индексы всех документов, которые не были распечатаны.

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

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

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

Вторая строка каждого набора содержит строку $$$s$$$ длины $$$n$$$, состоящую из символов '1', '2' и '3' — команды друзей.

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

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

Для каждого набора выведите две строки.

В первой — количество $$$k$$$ документов, которые не были напечатаны.

Во второй — их номера в возрастающем порядке, через пробел. Если $$$k = 0$$$, вторая строка пустая.

Пример
Входные данные
6
2
12
2
13
2
23
6
112332
3
112
6
211213
Выходные данные
1
2
1
1
0

2
3 6
2
1 3
3
2 4 5
Примечание

В первом наборе данных сначала документ с номером $$$1$$$ сохраняется в память, а потом он печатается на следующем шаге, то есть документ с номером $$$2$$$ не печатается.

Во втором наборе данных документ с номером $$$1$$$ заносится в память, но никогда не печатается, потому что следующая команда печатает документ с номером $$$2$$$.

В пятом наборе данных сначала в память заносится документ с номером $$$1$$$, потом документ с номером $$$2$$$, третьей командой мы печатаем последний занесенный в память документ — документ с номером $$$2$$$.