PreQueL
Bəzi sadələşdirilmiş MVTB-lərdə, PreQueL adlanan, yalnız CHAR(1) tipində adlara icazə verilir və bu adlar yalnız ingilis böyük hərflərindən (A-dan Z-yə qədər) ibarət olmalıdır. Cədvəl maksimum 9 sütun, 1-dən 9-a qədər nömrələnmiş sütunlar ehtiva edə bilər. Cədvəllər kiçik ingilis hərfləri ilə (a-dan z-yə qədər) adlandırılır.
Məlumat bazasına yeganə mümkün sorğu əvvəlcə bütün cədvəlləri birləşdirir (şərtin sonunda məsələnin izahına baxın); sonra müəyyən şərtlərə uyğun olaraq bəzi sətirləri seçir. Şərtlər iki növdə olur: <sütun> = <dəyər> və ya <sütun1> = <sütun2>, məsələn, a2 = A və ya b1 = c4. Bütün şərtlər eyni vaxtda yerinə yetirilməlidir, sanki onlar AND operatoru ilə birləşdirilib.
Siz PreQueL üçün sorğu emalçısı yazmalısınız ki, ona verilmiş cədvəllər və şərtlər toplusunu nəzərə alaraq sorğunun nəticəsini, yəni bütün şərtlərə cavab verən sətirləri çıxarsın. Cavabda olan sətirlər əlifba sırası ilə leksikoqrafik qaydada sıralanmalıdır.
Giriş verilənləri
Birinci sətir iki tam ədəd - cədvəllərin sayı t (1 ≤ t ≤ 26) və şərtlərin sayı d (1 ≤ d ≤ 50) ehtiva edir.
İkinci sətirdən başlayaraq t cədvəl verilir. Cədvəlin təsvirinin birinci sətirində cədvəlin ölçüləri - r_n və c_n (1 ≤ c_i ≤ 9, 1 ≤ r_i ≤ 1000) verilir. Sonra r_n sətir, hər biri dəqiq c_n simvoldan ibarət olan sətirlər gəlir. Cədvəldən sonra d şərt verilir.
Çıxış verilənləri
Nəticə sətirlərini çıxarın, hər bir cədvəl sətirini ayrı sətirdə çıxarın. Heç bir giriş sorğusunun 1000-dən çox sətir çıxarmayacağı təmin edilir.
Nümunələr
Qeyd
Çıxış faylındakı sətirlər artan qaydada sıralanmalıdır.
Əgər biz A və B cədvəllərini heç bir şərt tətbiq etmədən birləşdirsək, nəticədəki sətirlərin sayı |A|·|B| olacaq.
Tutaq ki, bizdə üç cədvəl var (hər cədvəl sətirlər siyahısı kimi təqdim olunur): {A, B}, {C, D}, {XX, YY, ZZ}. Onların birləşməsi 12 sətirdən ibarət cədvəl olacaq: {ACXX, ACYY, ACZZ, ADXX, ADYY, ADZZ, BCXX, BCYY, BCZZ, BDXX, BDYY, BDZZ}.