시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 256 MB0000.000%

문제

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

Проблема заключалась в том, что эта цивилизация не пользовалась знаком переноса. Как только строка заканчивалась, чтение просто продолжалось со следующей строки. При расшифровке книг это не доставляло никаких неудобств, однако у этикетки есть существенное отличие от книги — этикетка наклеивалась на бутылку так, что получался цельный цилиндр, на котором по кругу был написан текст. При чтении текста следовало начать читать первую строку от места склейки, после достижения места склейки перейти на вторую строку, после этого на третью и так далее. Но ученым пока не удается определить место, где этикетка была склеена! Так что вместо текста пока имеется только набор строк одинаковой длины k, состоящих из букв и символов «.», которые использовались этой цивилизацией вместо пробелов.

К счастью, кроме самой этикетки имеется словарь, в котором перечислены все возможные слова, которые использовались этой цивилизацией. Теперь по этим данным вам необходимо определить, сколько существует вариантов местонахождения склейки. Более формально, вам необходимо определить, сколько существует неотрицательных значений t < k таких, что конкатенация всех данных вам строк, циклически сдвинутых влево на t символов, представляет собой набор слов из словаря, разделенных одним или несколькими символами «.». Кроме этого, вам необходимо также вывести все эти значения t.

입력

Первая строка содержит одно целое число m (1 ≤ m ≤ 2000) — количество слов в словаре. Следующие m строк содержат слова из словаря. Все слова различны, состоят только из строчных букв латинского алфавита, длина каждого слова не превышает 2000 символов.

Следующая строка содержит одно целое число n (1 ≤ n ≤ 2000) — количество строк, написанных на этикетке. Следующие n строк содержат слова строки, написанные на этикетке. Все эти строки состоят только из строчных букв латинского алфавита и символов «.». Длина всех строк одинакова и не превышает 2000 символов. Гарантируется, что в каждой строке содержится хотя бы один символ «.».

출력

В первую строку выведите одно целое число — количество значений t. В следующей строке выведите сами эти значения, разделенные пробелами и упорядоченные по возрастанию.

예제 입력 1

2
uu
u
5
.uu..uu
.uu...u
...uu.u
.u.u.uu
uuu.uu.

예제 출력 1

2
1 2