Задача D. Плохой шифр

Автор:Антон Карабанов   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:64 Мб
Выходной файл:Стандартный выход  
Максимальный балл:100  

Условие

Евгений разработал шифр для обмена сообщениями с друзьями. Пока шифр работает только для чисел по следующему алгоритму:

1) Заданное натуральное число разбивается на цифры.

2) Каждая цифра переводится в двоичную систему счисления.

3) Двоичные записи записываются подряд без пробелов.

Например, для числа 195 алгоритм сработает так: 195 - 1 9 5 - 1 1001 101 - 11001101.

Евгений зашифровал одно натуральное число и получил двоичную запись s. Эту запись он передал своему другу Всеволоду, а через несколько минут получил от него сообщение, в котором говорилось, что этот шифр никуда не годится, поскольку существует несколько чисел, которые будут зашифрованы одинаково. Более того, Всеволод точно указал количество таких чисел и сами числа! Попробуйте сделать то же самое.

Формат входных данных

Единственная строка входного файла содержит двоичную запись s.

Формат выходных данных

Выведите в первой строке одно натуральное число - количество различных чисел, которые можно зашифровать такой записью. Во второй строке через пробел в порядке возрастания укажите все эти числа.

Ограничения

1 ≤ len(s) ≤ 20

Система оценки и описание подзадач

Баллы за каждый тест начисляются независимо.

Примеры тестов

Стандартный вход Стандартный выход
1
10010
7
42 90 202 410 1002 2010 10010

0.200s 0.116s 15