Задача №113669. Половина

У доброжелательного Даниила есть несколько яблок. В силу своей природной доброжелательности, каждый раз, когда он встречает какого-либо своего друга, он смотрит на яблоки, которые у него есть и отдает другу половину.

Но Даниил не одинаково любит всех своих друзей, поэтому некоторым из них он отдает половину яблока, а некоторым — половину имеющихся у него яблок. При этом с глазомером у Даниила не так хорошо, как со щедростью, и делить яблоки более, чем на две части, у него не получается. Поэтому, если он встречает друга, а у него нецелое число яблок, то он вынужден отдать половину яблока.

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

Входные данные

Входной файл содержит два целых числа: \(n\) — количество яблок у Даниила и \(k\) — количество встреченных им за день друзей
\((1 \le n \le 1000, 1 \le k \le 1000)\).

Выходные данные

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

Примеры
Входные данные
6 1
Выходные данные
2
3.0 5.5
Сдать: для сдачи задач необходимо войти в систему