Половина
У доброзичливого Данила є декілька яблук. У силу своєї природної доброзичливості, кожен раз, коли він зустрічає когос зі своїх друзів, він дивиться на яблука, які у нього є і віддає другу половину.
Але Данило не однаково любить усіх своїх друзіві, тому деяким з них він віддає половину яблука, а деяким — половину наявних у нього яблук. При цьому з окоміром у Данила не все так добре, як зі щедрістю, і ділити яблука більш, ніж на дві частини, у нього не получається. Тому, якщо він зусріне друга, а у нього непарна кількість яблук, то він змушений віддати половину яблука.
Вранці у Данила було n яблук, а за день Данило зустрів k друзів. Виясніть, скільки яблук у нього могло залишитись увечері.
Вхідні дані
Вхідний файл містить два цілих числа: n — кількість яблук у Данила та k — кількість друзів, яких він зустрів за день (1 ≤ n ≤ 1000, 1 ≤ k ≤ 1000).
Вихідні дані
Перший рядок вихідного файлу повинен містити число m — кількість варіантів відповіді на питання, скільки яблук може бути у Данила увечері. Наступний рядок повинен містити m дійсних чисел, відсортованих за зростанням — варіанти відповідей.