eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Произведение графов

Произведение графов

Пусть дан ориентированный ациклический граф. Стандартная игра на графе заключается в следующем: изначально на одной из вершин графа (назовём начальной позицией) стоит фишка. Двое игроков по очереди двигают её по рёбрам. Проигрывает тот, кто не сможет сделать ход. В теории игр часто рассматривают более сложные игры. Например, прямое произведение двух игр на графах. Прямое произведение игр - это следующая игра: изначально на каждом графе в начальной позиции стоит по фишке. За ход игрок двигает обе фишки по рёбрам (каждую фишку двигает в собственном графе). Проигрывает тот, кто не может сделать ход. То есть тот, кто не может сделать ход хотя бы в одной игре. Ваша задача - определить, кто выиграет при правильной игре. \InputFile На первой строке будут даны числа \textbf{N_1} и \textbf{M_1} - количество вершин и рёбер в первом графе (\textbf{1} ≤ \textbf{N_1}, \textbf{M_1} ≤ \textbf{100000}). На следующих \textbf{M_1} строках содержится по два числа \textbf{x} и \textbf{y} (\textbf{1} ≤ \textbf{x}, \textbf{y} ≤ \textbf{N_1}). В следующих \textbf{M_2+1} строках задан второй граф в том же формате. Заканчивается входной файл списком пар начальных вершин, для которых нужно решить задачу. На первой строке задано число \textbf{T} (\textbf{1} ≤ \textbf{T} ≤ \textbf{100000}) - количество пар начальных вершин. В следующих \textbf{T} строках указаны пары вершин \textbf{v_1} и \textbf{v_2} (\textbf{1} ≤ \textbf{v_1} ≤ \textbf{N_1}, \textbf{1} ≤ \textbf{v_2} ≤ \textbf{N_2}). \OutputFile На каждую из \textbf{T} пар начальных вершин выведите строку "\textbf{first}", если при правильной игре выигрывает первый, и "\textbf{second}", если второй.
Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
3 2
1 2
2 3
2 1
1 2
2
2 1
3 2
Выходные данные #1
first
second