Задача D. Половинка

Входной файл:input.txt   Ограничение времени:2 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

Лешу навестили родственники из деревни и привезли много персиков. Поскольку персиков было действительно много, и они быстро портятся, Леша решил поделиться с друзьями. Каждый раз, когда он встречает какого-либо своего друга, он смотрит на персики, которые у него есть и отдает другу половину.

Но Леша не одинаково любит всех своих друзей, поэтому некоторым из них он отдает половину всех имеющихся у него персиков, а некоторым – только половину персика. Он решил не делить фрукты более, чем на две равные части. Если он встречает друга, а у него нечетное число персиков, то он вынужден разделить один из фруктов надвое.

Утром у Леши было n персиков, а за день он встретил k друзей. Выясните, сколько персиков у него могло остаться вечером.

Формат входного файла

Входной файл содержит два целых числа: n – количество персиков у Леши и k – количество встреченных им за день друзей.

Формат выходного файла

Первая строка выходного файла должна содержать число m – количество вариантов ответа на вопрос, сколько персиков может быть у Леши вечером. Следующая строка должна содержать m вещественных чисел, отсортированных по возрастанию – варианты ответов.

Ограничения

(1 ≤ n, k ≤ 1000)

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
6 1
2
3.0 5.5
2
3 3
3
0.5 1.0 1.5

0.215s 0.018s 15