PreQueL
У деяких спрощених системах управління базами даних (СУБД), відомих як PreQueL, єдиний допустимий тип імені — CHAR(1), тобто один символ. Ім'я повинно складатися лише з великих англійських літер (від A до Z). Таблиця може містити до 9 стовпців, які пронумеровані від 1 до 9. Таблиці називаються малими англійськими літерами (від a до z).
Єдиний можливий запит до бази даних спочатку з'єднує всі таблиці (див. пояснення до задачі в кінці умови); потім вибирає деякі рядки відповідно до умов. Існує два види умов: <column> = <value> або <column1> = <column2>, наприклад, a2 = A або b1 = c4. Усі умови повинні виконуватися одночасно, як якщо б вони були з'єднані оператором AND.
Вам потрібно написати обробник запитів для PreQueL, який, враховуючи надані таблиці та набір умов, видасть результат запиту, тобто ті рядки, які задовольняють усім умовам. Рядки у відповіді повинні бути впорядковані лексикографічно за алфавітом.
Вхідні дані
Перша стрічка містить два цілі числа — кількість таблиць t (1 ≤ t ≤ 26) і кількість умов d (1 ≤ d ≤ 50).
Починаючи з другої стрічки, надано t таблиць. У першому рядку опису таблиці вказані розміри таблиці — r_n і c_n (1 ≤ c_i ≤ 9, 1 ≤ r_i ≤ 1000). Далі йде r_n рядків, кожен з яких складається рівно з c_n символів. Після таблиць йдуть d рядків з умовами.
Вихідні дані
Виведіть рядки результату, кожен рядок таблиці виведіть в окремому рядку. Гарантується, що жоден вхідний запит не видасть більше 1000 рядків.
Приклади
Примітка
Рядки у вихідному файлі повинні бути впорядковані за зростанням.
Якщо ми з'єднуємо таблиці A і B без застосування будь-яких умов, кількість рядків у результаті буде |A|·|B|.
Нехай у нас є три таблиці (кожна таблиця представлена у вигляді списку рядків): {A, B}, {C, D}, {XX, YY, ZZ}. Їх з'єднанням буде таблиця з 12 рядків {ACXX, ACYY, ACZZ, ADXX, ADYY, ADZZ, BCXX, BCYY, BCZZ, BDXX, BDYY, BDZZ}.