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

Мошенники

Мошенники

Лимит времени 1 секунда
Лимит использования памяти 122 MiB

Количество автомобилей в Default City, ежедневно приезжающих в центр города, значительно превышает количество доступных парковочных мест. Городской совет решил ввести оплату за парковку на городских улицах. Плата за парковку взимается при помощи автоматизированного сканера, распознающего регистрационный номер транспортного средства: он распознает последовательность цифр и букв на номере, а также проверяет ее в базе данных регистрации транспортных средств чтобы гарантировать, что предыдущая плата за парковку была оплачена - в противном случае автоматически выдается штраф владельцу транспортного средства.

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

Совет Default City учредил Fraud Busters Initiative (FBI) чтобы разработать решение для предотвращения такого рода мошенничества. Одним из решений, выработанным FBI, было расширить данные, распознаваемых сканером (например тип и цвет транспортного средства), а также при распознании исключать из списка подозреваемых любые транспортные средства, обнаруженные в другом месте в это время. Такая информация должна помочь определить правильный автомобиль, сужая поиск в базе данных регистрации транспортного средства.

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

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

Первая строка содержит 9 символов кода, распознанных сканером. Код содержит цифры, заглавные символы английского алфавита и символ "*" (звездочка). Звездочка представляет собой цифру или букву, которую не смог распознать сканер.

Вторая строка содержит количество n (1n1000) номерных знаков транспортных средств из регистрационной базы данных.

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

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

В первой строке вывести количество номерных знаков k (0kn), которые соответствуют коду, распознанного сканером. Код сканера соответствует коду в базе данных, если символы во всех соответствующих позициях кодов одинаковы или код сканера в соответствующей позиции содержит "*".

В следующих k строках следует вывести соответствующие коды, по одному в строке, в том же порядке как они поступают на вход.

Пример

Входные данные #1
A**1MP19*
4
A001MP199
E885EE098
A111MP199
KT7351TTB
Выходные данные #1
2
A001MP199
A111MP199
Источник 2013 ACM NEERC, Полуфинал, Декабрь 1, Задача F