Прибытие Таноса
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Когда Халк прибыл на Землю, он сообщил Доктору Стрэнджу время прибытия на землю Таноса. Однако, Доктор не уверен, что после такого падения Халк правильно запомнил эту дату. Однако он уверен, что набор цифр, который сказал Халк, точно верный. Теперь ему нужно понять, в какие даты может прибыть Танос.

Помогите ему. По дате, которую сообщил Халк, посчитайте все возможные корректные даты, которые можно получить из нее перестановкой цифр. Дата называется корректной, если ee год положительный, месяц не больше 12, а номер дня не больше количества дней в этом месяце. В високосном году в феврале на один день больше — 29 дней вместо 28. Год называется високосным, если его номер делится на 400, или если его номер делится на 4, но не делится на 100.

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

В первой строке входных данных задана дата в формате ГГГГ ММ ДД. Гарантируется, что это корректная дата с учeтом високосных годов.

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

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

Пример

Входные данные
0001 01 01
Выходные данные
16
0001 01 01
0001 01 10
0001 10 01
0001 10 10
0010 01 01
0010 01 10
0010 10 01
0010 10 10
0100 01 01
0100 01 10
0100 10 01
0100 10 10
1000 01 01
1000 01 10
1000 10 01
1000 10 10