Положительное целое число \(x\) называется степенью двойки, если его можно представить как \(x = 2^y\), где \(y\) — неотрицательное целое число. Иными словами, степени двойки — это числа \(1, 2, 4, 8, 16, \dots\).
Вам даны два положительных целых числа \(n\) и \(k\). Представьте \(n\) как сумму ровно \(k\) степеней двойки.
Выходные данные
Если невозможно представить \(n\) как сумму \(k\) степеней двойки, выведите NO.
Иначе выведите YES, а затем — \(k\) положительных целых чисел \(b_1, b_2, \dots, b_k\), таких, что \(b_i\) являются степенями двойки, и \(\sum \limits_{i = 1}^{k} b_i = n\). Если ответов несколько, выведите любой из них.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
9 4
|
YES
1 2 2 4
|
|
2
|
8 1
|
YES
8
|
|
3
|
5 1
|
NO
|
|
4
|
3 7
|
NO
|