EduBrick

F. Ретроанализ

1000 мс · 256 МБ · всё или ничего

Дан ориентированный граф - вообще любой, с петлями и кратными рёбрами. Фишка стоит в вершине, ход - перейти по ребру, проигрывает тот, кто не может сходить. Для каждой стартовой вершины скажите, кто выигрывает.

Ключевое отличие от задачи D: граф не обязан быть ациклическим. Рекурсия зациклится, а у игры появляется третий исход.

Формат ввода

Входные данные состоят из нескольких тестов и читаются до конца файла.

Каждый тест: в первой строке числа nn и mm (1≤n≤3⋅1051 \le n \le 3 \cdot 10^5, 1≤m≤3⋅1051 \le m \le 3 \cdot 10^5), затем mm строк с парами aa и bb - ребро из aa в bb.

В графе возможны петли и кратные рёбра. Сумма nn по всем тестам не превосходит 3⋅1053 \cdot 10^5, сумма mm - тоже.

Формат вывода

Для каждого теста выведите nn строк: FIRST, SECOND или DRAW - кто выигрывает при старте из этой вершины.

Ответы к разным тестам разделяйте пустой строкой.

Примеры

ввод
5 5
1 2
2 3
3 1
1 4
4 5
2 1
1 2
4 4
1 2
2 3
3 1
1 4
вывод
DRAW
DRAW
DRAW
FIRST
SECOND

FIRST
SECOND

FIRST
FIRST
SECOND
SECOND
ввод
3 3
1 1
1 2
2 3
вывод
DRAW
FIRST
SECOND
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.