E. Инновационная задача
ограничение по времени на тест
1.5 секунд
ограничение по памяти на тест
128 мегабайт
ввод
input.txt
вывод
output.txt
Космонавтика имеет безграничное будущее, и ее перспективы беспредельны, как сама Вселенная.
Сергей Королёв

Поскольку постройка космического корабля для полёта на Марс контролировалась вышестоящими инстанциями, в его устройстве не обошлось без нанотехнологий и прочих инноваций. Корабль был снабжён $$$n$$$ ремонтными нанороботами размером с молекулу. Эти роботы находились во всех внутренних деталях корабля и невидимым образом чинили любые поломки. Казалось, будто поломка корабля затягивается сама собой, словно рана на теле живого существа.

На деле это работало вполне научно. Каждый из $$$n$$$ нанороботов мог за одну секунду либо починить одно наноповреждение (очень маленькое неделимое повреждение), либо построить из подручных средств копию себя (реплицироваться). Чтобы правильно распределить работу, нанороботы связывались с бортовым компьютером для координации действий. Но пока что необходимой программы на нём не было, и роботы занимались тем, что им приходило в голову.

Профессор X решил всё же написать такую программу, потому что начальство очень хотело, чтобы нанороботы непременно использовались. Суть программы в том, чтобы давать приказы отдельным роботам строить себе подобных или чинить корабль, в зависимости от числа имеющихся наноповреждений. Это число оценивается специальными датчиками жизнеобеспечения и передаётся программе. Естественно, нужно починить все повреждения как можно быстрее. Отдельной проблемой является то, что количество нанороботов и наноповреждений может быть очень большим.

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

В единственной строке входного файла содержится два целых числа через пробел: $$$n$$$ и $$$m$$$ ($$$0 \le n, m \le 10^{100}$$$) — количество нанороботов и наноповреждений соответственно.

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

В первой строке выходного файла должно быть записано единственное целое число $$$t$$$ — минимальное количество секунд, необходимых, чтобы починить корабль. Далее во второй строке должны быть записаны $$$t$$$ целых чисел — команды нанороботам. На $$$i$$$-й позиции должно быть записано количество нанороботов, которым следует заниматься репликацией в $$$i$$$-ю секунду. Если ответов несколько, можно вывести любой из них. Если все наноповреждения починить невозможно, то в единственной строке выходного файла должно содержаться слово «IMPOSSIBLE» без кавычек.

Примеры
Входные данные
10 30
Выходные данные
3
0 10 0
Входные данные
15 70
Выходные данные
4
10 20 0 0