Запросы на наибольший общий суффикс

(Рэп-баттл)

Вам дан список из n различных слов: , а также список из q слов-запросов . Ваша задача — найти лексикографически наименьшее слово из списка a, которое отличается от w и при этом имеет с ним самый длинный общий суффикс.

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

Первая строка входных данных содержит одно целое число n (2 ≤ n ≤ 25 000), обозначающее количество строк в списке.

В следующих n строках записаны слова. Каждое слово состоит из строчных английских букв, а длина любого слова не превышает 30 символов.

Следующая строка содержит одно целое число q (1 ≤ q ≤ 25 000), обозначающее количество запросов.

Далее идут q строк, каждая из которых содержит слово-запрос.

Каждое слово состоит из строчных английских букв, а его длина не превышает 30 символов.

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

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

Примеры

Input

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

4
perfect
rhyme
crime
time
2
crime
rhyme

4
perfect
rhyme
crime
time
2
crime
rhyme

Constraints

Time limit: 5 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue