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