| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 2 | 1 | 1 | 50.000% |
Вчера вечером Человек-паук неплохо поработал --- поймал аж $n$ преступников! Но тюрьмы уже переполнены, и разместить их решили на авианосце Щита. Ник Фьюри лично решился распределить преступников по камерам.
Всего на авианосце есть $k$ камер для заключенных. Распределять преступников по камерам случайным образом Ник не хочет, поэтому он решил распределить всех преступников по камерам так, чтобы <<исключающее или>> числа людей во всех камерах было равно нулю. Более формально, Ник хочет в первую камеру отправить $a_1$ преступников, во вторую $a_2,ドル \ldots, в $k$-ю камеру он хочет отправить $a_k$ преступников так, чтобы выполнялись следующие условия:
Также Ник понимает, что оставлять камеры пустыми не имеет смысла, поэтому все $a_i$ должны быть больше нуля.
Преступники уже готовят план побега, поэтому нельзя терять ни минуты. Помогите командиру авианосца как можно быстрее решить эту задачу!
В первой строке входного файла даны два числа $n, k$ (1ドル \le n, k \le 100,000円$) --- количество преступников на корабле Щита и количество камер заключения соответственно.
Если существует требуемое разбиение преступников по камерам, в единственной строке выходного файла выведите $k$ положительных чисел, $i$-е из которых означает количество преступников, которое нужно отправить в $i$-ю камеру заключения.
Если нужного разбиения не существует, в единственной строке выходного файла выведите -1. Если существует несколько разбиений, выведите любое.
8 2
4 4
5 3
-1
Исключающее или --- логическая операция, которая имеет следующую таблицу истинности:
<<Исключающее или>> чисел, состоящих из нескольких бит, считается побитово. Например, 2ドル \oplus 3=1,ドル 2ドル \oplus 5=7,ドル 5ドル \oplus 5=0$.
Более подробно про <<исключающее или>> можно почитать тут: https://ru.wikipedia.org/wiki/Сложение\_по\_модулю\_2