Если вы используете C++, пожалуйста, выберите в качестве компилятора при отправке решения: C++14 (GCC 6-32) или C++17 (GCC 7-32). ×

D. Досуг в школе №41
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В средней школе №41 учатся $$$n$$$ детей. Всем известно, что они хорошие математики. Однажды на перемене ребята решили провести исследование. Они выстроились в один ряд и повернули головы налево или направо.

Дети проделывали следующую операцию: каждую секунду несколько пар соседних в ряду детей, смотрящих друг на друга, могли одновременно развернуться в противоположную сторону. Таким образом, ребенок, смотрящий на правого соседа, повернется налево, и наоборот для второго ребенка. Более того, каждую секунду хотя бы одна пара соседних детей проделывала подобную операцию. Процесс заканчивается, когда нет пары соседних детей смотрящих друг на друга.

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

Для примера, дети могут действовать с конфигурацией приведенной ниже и $$$k = 2$$$ следующим образом:

На первом ходу развернутся две пары: $$$(1, 2)$$$ и $$$(3, 4)$$$. После этого получается такая конфигурация:
На втором ходу развернется только пара $$$(2, 3)$$$. В итоговой конфигурации никакая пара детей не смотрит друг на друга. Хорошая работа.

Если решение существует, то гарантируется что дети совершат не более чем $$$n^2$$$ разворотов.

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

Первая строка входных данных содержит два целых числа $$$n$$$, $$$k$$$ ($$$2 \le n \le 3000$$$, $$$1 \le k \le 3000000$$$)  — количество детей и количество ходов через которые нужно закончить.

Вторая строка входных данных содержит строку длины $$$n$$$, которая состоит только из символов L и R. L значит, что ребенок смотрит налево, а R  — направо.

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

Если решения не существует, выведите $$$-1$$$.

Иначе, вывод должен состоять из $$$k$$$ строк. Каждая строка должна начинаться с положительного целого числа $$$n_i$$$ ($$$1\le n_i \le \frac{n}{2}$$$)  — количества пар детей, которые развернутся на этом ходу. Далее в этой же строке должно следовать $$$n_i$$$ попарно различных чисел  — номера детей, которые повернут голову налево во время этого хода.

После проведения всех разворотов, не должно быть пары соседних детей, смотрящих друг на друга.

Если существует более одного решения, выведите любое из них.

Примеры
Входные данные
2 1
RL
Выходные данные
1 1 
Входные данные
2 1
LR
Выходные данные
-1
Входные данные
4 2
RLRL
Выходные данные
2 1 3 
1 2
Примечание

Первый тест описывает пару детей смотрящих друг на друга. За один ход они развернутся.

Во втором тесте дети не могут сделать ни одного хода. В итоге они не смогут закончить за $$$k>0$$$ ходов.

Третий тест описан в условии.