Половина

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

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

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

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

입력

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

출력

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