eolymp
bolt
Try our new interface for solving problems
Problems

Игра с конечным автоматом

Игра с конечным автоматом

Все знают, что шутки с конечными автоматами могут закончиться очень плохо. Однако Димочка понимал это не очень хорошо и в процессе работы над курсовой работой по конечным автоматам придумал новую интересную игру для двух игроков. Игра оказалась настолько увлекательной, что все его однокурсники играли в нее целыми днями… Конечно, никто из них так и не сдал курсовик по конечным автоматам :) Правила этой игры достаточно просты. Два игрока берут детерминированный конечный автомат с \textbf{n} состояниями и алфавитом из \textbf{m} символов. В процессе игры они добавляют символы (один игрок за один ход добавляет один и ровно один символ) к строке \textbf{S}, которая изначально пуста. Если после чьего-то хода автомат допускает строку \textbf{S}, то этот игрок считается выигравшим. Димочка думает, что по конечному автомату можно за время \textbf{O(m·n)} определить, кто выиграет при оптимальной игре обоих игроков. Напишите программу, определяющую игрока, выигрывающего при оптимальной стратегии обоих. \InputFile Первая строка входного файла содержит \textbf{n} -- число состояний автомата (\textbf{1} ≤ \textbf{n} ≤ \textbf{10^4}) и \textbf{m} -- мощность алфавита конечного автомата (\textbf{1} ≤ \textbf{m} ≤ \textbf{10}). Состояния автомата нумеруются с нуля, нулевое состояние является начальным. Далее идут \textbf{n} строк, описывающих функцию переходов конечного автомата. Каждая строка содержит по \textbf{m} чисел от \textbf{0}до \textbf{n-1}. Далее идет \textbf{k} -- число допускающих состояний автомата. Последняя строка содержит \textbf{k} чисел -- номера допускающих состояний. Начальное состояние не является допускающим. \OutputFile Если игра не имеет смысла (т.е. язык автомата пуст), выведите в выходной файл фразу "\textbf{Automata language is empty.}" без кавычек. Если при оптимальной стратегии обоих игроков игра закончится вничью, выведите "\textbf{Game is a draw.}". Если выигрывает первый игрок, выведите фразу "\textbf{Dimochka wins.}", иначе -- выведите "\textbf{Dimochka loses.}". В случае выигрыша одного из игроков во второй строке выведите наименьшую длину строки, которая приводит к выигрышу (при оптимальной игре обоих).
Time limit 1 second
Memory limit 64 MiB
Input example #1
2 1
0
1
1
1
Output example #1
Automata language is empty.