Ограничение по времени: 2.000 секунд
Ограничение по памяти: 100.000 мегабайт
Когда Халк прибыл на Землю, он сообщил Доктору Стрэнджу время прибытия на землю Таноса. Однако, Доктор не уверен, что после такого падения Халк правильно запомнил эту дату. Однако он уверен, что набор цифр, который сказал Халк, точно верный. Теперь ему нужно понять, в какие даты может прибыть Танос.
Помогите ему. По дате, которую сообщил Халк, посчитайте все возможные корректные даты, которые можно получить из нее перестановкой цифр. Дата называется корректной, если ee год положительный, месяц не больше 12, а номер дня не больше количества дней в этом месяце. В високосном году в феврале на один день больше — 29 дней вместо 28. Год называется високосным, если его номер делится на 400, или если его номер делится на 4, но не делится на 100.
В первой строке входных данных задана дата в формате ГГГГ ММ ДД
. Гарантируется, что это корректная дата с учeтом високосных годов.
В первой строке выведите количество дат, которые можно получить перестановкой цифр из исходный даты. Далее, по одной в строке, выведите сами эти даты в таком же формате, в порядке от самой ранней до самой поздней.
input | output |
---|---|
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 |