\begin{problem}{Половина}{half.in}{half.out}{2 секунды}{256 мегабайт}

%Автор задачи: Борис Минаев
%Автор условия: Андрей Комаров

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

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

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

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

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

\Examples

\begin{example}%
\exmp{
6 1
}{
2
3.0 5.5
}%
\end{example}

\end{problem}
