eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач

K-nim

\textit{Кодекс нужно чтить!} И. Ильф, Е. Петров Остап любит играть с приятелями в ним. Но его всегда бьют за то, что он незаметно забирает камни сразу из нескольких кучек. Ему надоело ходить битым и он придумал собственную игру, в которой можно одновременно брать камни из одной, двух,... \textbf{K} кучек. Использованных кучек может быть любое количество от \textbf{1} до \textbf{K} и из каждой можно брать любое (возможно, различное) число камней. "\textit{Вот теперь приятели не будут называть меня шулером, когда я с новой игрой приду к ним! К ним... Точно! Назову эту игру }\textit{\textbf{K-nim}}" - подумал Остап, -- "\textit{Но я совершенно не умею играть по правилам! Написать бы программу, которая подсказывает оптимальный ход... Но программировать я тоже не умею... Придётся пообещать от мёртвого осла уши половину будущего выигрыша тому, кто напишет её для меня}". \InputFile Первая строка ввода содержит два натуральных числа -- \textbf{N} и \textbf{K} (\textbf{N}, \textbf{K} ≤ \textbf{10^5}) -- количество имеющихся кучек и максимальное количество кучек, из которых можно забирать камни за ход. Вторая строка содержит \textbf{N} натуральных чисел до \textbf{10^9} -- размеры кучек. \OutputFile Если у Остапа есть выигрышный ход, выведите в первой строке, из скольких кучек он должен забирать камни. Во второй строке выведите состояния всех кучек после хода Остапа в том порядке, в котором они вводились, разделяя числа пробелом. Если Остап выиграть не может, выведите единственное число \textbf{0}.
Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
5 3
7 5 2 4 6
Выходные данные #1
3
5 5 1 4 5
Автор Олег Петров
Источник Летняя школа Севастополь 2013, Волна 1, День 3