eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків

Join

Є дві таблиці. Таблиці заповнено числовими даними. Кожна колонка кожної таблиці має унікальне ім'я. Необхідно реалізувати операцію \textbf{JOIN} для виборки даних з цих таблиць. Дана операція працює наступним чином. Спочатку вибирається декартовий добуток двох таблиць. Це означає, что коженя рядок першої таблиці з'єднується з кожним рядком другої таблиці. Після цього з цієї таблиці вибираються рядки, які відповідають певній умові. У цій задачі такою умовою буде рівність значень у деяких двох колонках. Потім вибираються потрібні колонки, і виводиться їх значення у заданоум порядку в якості результату. Виводити рядки потрібно впорядкованими у лексикографічному порядку. \InputFile Вхідні дані починаються з опису першої таблиці. У першому рядку міститься \textbf{k_1} (\textbf{2} ≤ \textbf{k_1}, \textbf{k_2} ≤ \textbf{10}) імен колонок таблиці, відокремлених пропусками. Усі імена складаються з рядкових латинських літер. Далі йде число \textbf{n_1} (\textbf{1} ≤ \textbf{n_1}, \textbf{n_2} ≤ \textbf{50000}) --- кількість записів у таблиці. У наступних \textbf{n_1} рядках міститься по \textbf{k_1} чисел --- дані, записані у таблицю. Далі йде опис другої таблиці у тому ж форматі. У наступному рядку міститься число \textbf{q} (\textbf{1} ≤ \textbf{q} ≤ \textbf{10}) --- кількість запитів, на які необхідно відповісти. Далі йде опис кожного запиту у форматі: \begin{itemize} \item \textbf{SELECT} <список імен колонок> \item \textbf{JOIN} \textbf{ON} <ім'я колонки першої таблиці> = <ім'я колонки другої таблиці> \end{itemize} Числа у таблицях додатні, менші \textbf{100000}. \OutputFile Для кожного запиту виведіть результат виборки даних. Необхідно виводити лише значення вказаних колонок у тому порядку, у якому вони вказані. Рядки результату необхідно виводити у лексикографічному порядку. Виводьте порожній рядок між відповідями на запити. Зверніться до прикладів для уточнення формату виведення. Гарантується, що результат не будет містити більше \textbf{50000} рядків.
Ліміт часу 4 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
id1 a b
4
1 2 3
2 2 3
3 2 4
2 4 4
id2 c d
3
3 3 3
5 2 1
1 3 4
3
SELECT a,b,c
JOIN ON id1=d
SELECT id1,d
JOIN ON a=c
SELECT id2,id1,d
JOIN ON b=c
Вихідні дані #1
a b c
2 3 2
2 4 3

id1 d
1 1
2 1
3 1

id2 id1 d
1 1 4
1 2 4
3 1 3
3 2 3