EduBrick

K. Тождество

2000 мс · 256 МБ · всё или ничего

Это задача с двойным запуском.

Строкой Фибоначчи длины nn называется строка из нулей и единиц, в которой нет двух единиц подряд. Их количество обозначим FnF_n; например, F3=5F_3 = 5: это 000, 001, 010, 100, 101.

Известно тождество

Fn=Cn+10+Cn1+Cn−12+Cn−23+…F_n = C_{n+1}^{0} + C_{n}^{1} + C_{n-1}^{2} + C_{n-2}^{3} + \ldots

Суммирование идёт, пока верхний индекс не превысит нижний. Докажите его биекцией: сопоставьте каждой строке Фибоначчи длины nn сочетание из n+1−kn + 1 - k элементов по kk — и восстановите строку обратно.

Формат ввода

При первом запуске в первой строке записано слово first. Во второй — число nn (1≤n≤300 0001 \le n \le 300\,000). В третьей — строка Фибоначчи длины nn.

При втором запуске в первой строке записано слово second. Во второй — числа mm и kk, в третьей — сочетание из kk элементов; это ровно то, что вы вывели при первом запуске. При k=0k = 0 третья строка пустая.

Формат вывода

При первом запуске выведите mm и kk (должно выполняться m+k=n+1m + k = n + 1), а во второй строке — сочетание из kk различных чисел от 1 до mm по возрастанию.

При втором запуске выведите nn и строку Фибоначчи длины nn, совпадающую с исходной.

Примеры

ввод
first
3
101
вывод
2 2
1 2
ввод
second
2 2
1 2
вывод
3
101
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.