ТПУ: основной тур

Соревнование завершилось 15.04.18 в 16:00

K. Пароль от старого сейфа

Ограничение по времени: 1 с.
Ограничение по памяти: 256 МБ

У Виктора есть старый сейф, пароль от которого он забыл. К счастью, у него есть список вариантов, среди которых, как он думает, находится верный.

Панель для набора пароля состоит из n цилиндров с буквами английского алфавита. Вращая i-й цилиндр, можно выбрать букву на i-й позиции. На каждом цилиндре размещены все 26 букв английского алфавита, но, так как сейф уже старый, не каждый цилиндр может быть зафиксирован в любом из положений.

Зная для каждого цилиндра набор буков, которые могут быть выбраны для соответствующей позиции, помогите Виктору найти среди его вариантов пароля те, которые он сможет набрать.

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

Первая строка входных данных содержит одно целое число n — количество цилиндров (1 \leqslant n \leqslant 100).

Последующие n строк состоят из букв, которые могут быть выбраны при помощи соответствующего цилиндра. Каждая такая строка состоит только из заглавных букв латинского алфавита, которые не повторяются в пределах строки.

Следующая строка содержит одно целое число m — количество вариантов пароля (1 \leqslant m \leqslant 1000).

Последующие m строк содержат варианты паролей. Каждая такая строка состоит только из заглавных букв английского алфавита и имеет длину в точности равную n.

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

В первой строке выведите одно целое неотрицательное число k — количество паролей из списка Виктора, которые могут быть набраны на панели сейфа.

В последующих k строках выведите эти пароли по одному на строку. Выводить пароли следует в лексикографическом (алфавитном) порядке.

Примеры
Стандартный вводСтандартный вывод
5
REAL
EOLN
CRT
KNUTH
ASM
6
ARRAY
ROCKS
QUEUE
LERNA
TREES
LINUX
2
LERNA
ROCKS