시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 512 MB 0 0 0 0.000%

문제

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

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

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

입력

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

출력

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

예제 입력 1

6 1

예제 출력 1

2
3.0 5.5