Спалений календар#2648

Спалений календар

1 секунда
64 мегабайти
Дуже складна

Річний календар друкується за допомогою моноширинного шрифту згідно з такими правилами:

  1. Усі пробіли на надрукованому календарі позначаються символом крапки (ASCII 46).

  2. Кожен місяць займає прямокутник розміром на символів. Назва місяця записується великими літерами, починаючи з -го символу першого рядка.

  3. Усі дні місяця друкуються у , або стовпцях, кожен стовпець має ширину символи та висоту символів, між стовпцями — один пробіл. Перший день тижня — понеділок.

    • a. Місяці року розташовуються у трьох рядках, розділених горизонтальними та вертикальними лініями пробілів. У кожному ряду — по чотири місяці. Поля календаря мають по пробілу з усіх боків. Таким чином, весь календар має розмір на символів.

Зверніть увагу, що 1 січня року було понеділком. Також майте на увазі, що високосний рік ділиться на і не ділиться на , або ділиться на . Наприклад, частина надрукованого календаря з жовтня по грудень року може виглядати так:

Календар був надрукований, а потім спалений, залишивши лише невеликий прямокутний фрагмент. Ваше завдання — визначити, до якого року з проміжку від до міг належати цей шматок.

Вхідні дані

У першому рядку вхідного файлу задано цілі числа і (2 \leq N, M \leq 10), розділені пробілом — розмір шматка. Далі дано рядків по символів — фрагмент календаря.

Вихідні дані

У вихідному файлі слід вивести впорядкований список номерів років, по одному в рядку. Якщо цей фрагмент не може належати жодному календарю, слід вивести єдине ціле число (нуль).

Приклади

Приклад 1

Loading
Loading