Поскольку постройка космического корабля для полёта на Марс контролировалась вышестоящими инстанциями, в его устройстве не обошлось без нанотехнологий и прочих инноваций. Корабль был снабжён $$$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
| Name |
|---|


