| Codeforces Round 1125 (Div. 3) |
|---|
| Закончено |
Недавно K1o0n купил себе новый дорогой принтер, который отличается своей памятью, то есть может печатать не сразу. За вчерашний день, пока его не было рядом с новой покупкой, его друзья пользовались принтером.
Есть $$$n$$$ документов, пронумерованных от $$$1$$$ до $$$n$$$. Изначально память принтера пуста. Друзья последовательно выполнили на принтере $$$n$$$ команд, где $$$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$$$, вторая строка пустая.
6212213223611233231126211213
1211023 621 332 4 5
В первом наборе данных сначала документ с номером $$$1$$$ сохраняется в память, а потом он печатается на следующем шаге, то есть документ с номером $$$2$$$ не печатается.
Во втором наборе данных документ с номером $$$1$$$ заносится в память, но никогда не печатается, потому что следующая команда печатает документ с номером $$$2$$$.
В пятом наборе данных сначала в память заносится документ с номером $$$1$$$, потом документ с номером $$$2$$$, третьей командой мы печатаем последний занесенный в память документ — документ с номером $$$2$$$.
| Название |
|---|


