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

У Ashish есть бинарная строка $$$s$$$ длины $$$n$$$, которую он хочет отсортировать в неубывающем порядке.

Он может выполнять следующую операцию:

  1. Выберите подпоследовательность любой длины, элементы которой идут в невозрастающем порядке. Формально, выберите любое $$$k$$$ такое, что $$$1 \leq k \leq n$$$ и любую последовательность $$$k$$$ индексов $$$1 \le i_1 \lt i_2 \lt \ldots \lt i_k \le n$$$ такую, что $$$s_{i_1} \ge s_{i_2} \ge \ldots \ge s_{i_k}$$$.
  2. Затем, «разверните» эту последовательность. Формально, поменяйте местами $$$s_{i_1}$$$ с $$$s_{i_k}$$$, $$$s_{i_2}$$$ с $$$s_{i_{k-1}}$$$, $$$\ldots$$$ и $$$s_{i_{\lfloor k/2 \rfloor}}$$$ с $$$s_{i_{\lceil k/2 \rceil + 1}}$$$ (Здесь $$$\lfloor x \rfloor$$$ обозначает наибольшее целое число, не превосходящее $$$x$$$, а $$$\lceil x \rceil$$$ обозначает наименьшее целое число, не меньшее $$$x$$$).

Найдите минимальное количество операций, необходимых для того, чтобы отсортировать строку в неубывающем порядке. Можно доказать, что всегда можно отсортировать заданную бинарную строку не более чем за $$$n$$$ операций.

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

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

Первая строка каждого набора входных данных содержит целое число $$$n$$$ $$$(1 \le n \le 1000)$$$  — длину бинарной строки $$$s$$$.

Вторая строка каждого набора входных данных содержит бинарную строку $$$s$$$ длины $$$n$$$, содержащую только символы $$$0$$$ и $$$1$$$.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$1000$$$.

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

Для каждого набора входных данных выведите следующее:

  • минимальное количество операций $$$m$$$ в первой строке ($$$0 \le m \le n$$$).
  • Каждая из следующих $$$m$$$ строк должна иметь вид: $$$k$$$ $$$i_1$$$ $$$i_2$$$ ... $$$i_{k}$$$, где $$$k$$$ — длина, а $$$i_1 \lt i_2 \lt ... \lt i_{k}$$$ — индексы выбранной подпоследовательности. Для них должны выполняться ограничения из условия.
Пример
Входные данные
3
7
0011111
5
10100
6
001000
Выходные данные
0
1
4 1 3 4 5 
1
3 3 5 6 
Примечание

В первом наборе входных данных строка уже отсортирована в неубывающем порядке.

Во втором наборе входных данных мы можем выполнить следующую операцию:

  • $$$k = 4:$$$ выбираем индексы $$$\{1, 3, 4, 5\}$$$

    $$$\underline{1}$$$ $$$0$$$ $$$\underline{1}$$$ $$$\underline{0}$$$ $$$\underline{0}$$$ $$$\rightarrow $$$ $$$\underline{0}$$$ $$$0$$$ $$$\underline{0}$$$ $$$\underline{1}$$$ $$$\underline{1}$$$

В третьем наборе входных данных мы можем выполнить следующую операцию:

  • $$$k = 3:$$$ выбираем индексы $$$\{3, 5, 6\}$$$

    $$$0$$$ $$$0$$$ $$$\underline{1}$$$ $$$0$$$ $$$\underline{0}$$$ $$$\underline{0}$$$ $$$\rightarrow $$$ $$$0$$$ $$$0$$$ $$$\underline{0}$$$ $$$0$$$ $$$\underline{0}$$$ $$$\underline{1}$$$