Автор: | Антон Карабанов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Все натуральные числа разместились в узлах бинарного дерева по порядку (сверху вниз, слева направо). На рисунке Вы можете видеть верхнюю часть дерева.
Возможно ли, двигаясь от корня по рёбрам, набрать в сумме число n?
Единственная строка входных данных содержит натуральное число n.
Обратите внимание, что при заданных ограничениях для хранения ответа необходимо использовать 64-битный тип данных, например long long в C++, int64 в Free Pascal, long в Java.
Выведите в первой строке Yes
или No
— ответ на вопрос задачи.
Если нужную сумму набрать возможно, выведите во второй строке через пробел в порядке возрастания последовательность натуральных чисел — искомый маршрут.
1 ≤ n ≤ 1018
В первом примере сумму n = 5 набрать невозможно.
Во втором примере сумму n = 16 набрать можно, если сложить числа 1, 2, 4 и 9.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|