K-nim
Кодекс нужно чтить!
И. Ильф, Е. Петров
Остап любит играть с приятелями в ним. Но его всегда бьют за то, что он незаметно забирает камни сразу из нескольких кучек. Ему надоело ходить битым и он придумал собственную игру, в которой можно одновременно брать камни из одной, двух,... K кучек. Использованных кучек может быть любое количество от 1 до K и из каждой можно брать любое (возможно, различное) число камней.
"Вот теперь приятели не будут называть меня шулером, когда я с новой игрой приду к ним! К ним... Точно! Назову эту игру K-nim" - подумал Остап, – "Но я совершенно не умею играть по правилам! Написать бы программу, которая подсказывает оптимальный ход... Но программировать я тоже не умею... Придётся пообещать от мёртвого осла уши половину будущего выигрыша тому, кто напишет её для меня".
Входные данные
Первая строка ввода содержит два натуральных числа – N и K (N, K ≤ 10^5) – количество имеющихся кучек и максимальное количество кучек, из которых можно забирать камни за ход. Вторая строка содержит N натуральных чисел до 10^9 – размеры кучек.
Выходные данные
Если у Остапа есть выигрышный ход, выведите в первой строке, из скольких кучек он должен забирать камни. Во второй строке выведите состояния всех кучек после хода Остапа в том порядке, в котором они вводились, разделяя числа пробелом. Если Остап выиграть не может, выведите единственное число 0.