eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Етикетка

Етикетка

Під час археологічних досліджень іноді находять дуже цікаві речі. Так, наприклад, під час розкопок поселення однієї давньої циввлизації було вияснено, що її представники, так само як і сучасні люди, пили напої з пляшок, на яких були наклеєні етикетки з інформацією про напій, який міститься у пляшці. Одна з таких етикеток навіть збереглась до наших днів. Проте перед вченими, які займались разшифруванням, зовсім несподівано з'явилась дуже цікава проблема. \textbf{.} Проблема полягала у тому, що ця цивілізація не використовувала знак переносу. Як тільки рядок закінчувався, читання просто продовжувалось з наступного рядка. При розсшифровці книг це не доставляло жодних незручностей, проте у этикетки є суттєва відмінність від книги --- етикетка наклеювалась на пляшку так, що отримували цільний циліндр, на якому по кругу було написано текст. При читанні тексту потрібно почати читати перший рядок від місця склеювання, після досягнення місця склеювання перейти на другий рядок, після цього на третій і так далі. Але вченим поки що не вдається визначити місце, де етикетку була склеєно! Так що замість тексту поки є лише набір рядків однакової довжини \textbf{k}, які складаються з букв та символів "", які використовувались цією цивілізацією замість пропусків. \textbf{.} На щастя, крім самої етикетки є словник, у якому перераховані усі можливі слова, які використовувались цією цивілізацією. Тепер за цими даними вам необхідно визначити, скільки існує варіантів місцезнаходження склейки. Більш формально, вам необхідно визначити, скільки існує невід'ємних значень \textbf{t} < \textbf{k} таких, що конкатенація усіх заданих вам рядків, циклічно зсунутих ліворуч на \textbf{t} символів, являє собою набір слів зі словника, відокремлених одним чи декількома символами "". Крім цього, вам необхідно також вивести усі ці значення \textbf{t}. \InputFile Перший рядок містить одне ціле число \textbf{m} (\textbf{1} ≤ \textbf{m} ≤ \textbf{2000}) --- кількість слів у словнику. Наступні \textbf{m} рядків містять слова зі словника. Усі слова різні, складаються лише з рядкових букв латинського алфавіту, довжина кожного слова не перевищує \textbf{2000} символів. \textbf{.} \textbf{.} Наступний рядок містить одне ціле число \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{2000}) --- кількість рядків, написаних на етикетці. Наступні \textbf{n }рядків містять слова рядка, написані на етикетці. Усі ці рядки складаються лише з рядкових букв латинського алфавіту та символів "". Довжина усіх рядків однакова і не перевищує \textbf{2000} символів. Гарантується, що у кожному рядку міститься хоча б один символ "". \textbf{Вхиідні дані} У перший рядок виведіте одне ціле число --- кількість значень \textbf{t}. У наступному рядку виведите самі ці значення, відокремлені пропусками та упорядковані за зростанням.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2
uu
u
5
.uu..uu
.uu...u
...uu.u
.u.u.uu
uuu.uu.
Вихідні дані #1
2
1 2