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