Задачи
Смешивание цветов
Смешивание цветов
Фрэнк живет в Лондоне, и он очень любит игры и математику. В последнее время он играет в игру на своем мобильном телефоне. Она довольно проста: имеется последовательность цветных фигурок и за каждый ход игрок должен объединить пару соседних фигур для получения новой определенного цвета. Этот процесс повторяется до тех пор пока вся последовательность не приведет к единственной конечной фигурке. Проблема в том, что не каждая пара цветов может объединяться. Существует набор правил, описывающий разрешенные комбинации. Например, пусть заданы следующие правила
\textbf{blue + yellow → green}
\textbf{yellow + red → orange}
\textbf{blue + orange → brown}
и последовательность (\textbf{blue}, \textbf{yellow}, \textbf{red}). Игра может закончиться коричневой фигуркой через два шага: (\textbf{blue},\textbf{ yellow}, \textbf{red}) \textbf{→} (\textbf{blue}, \textbf{orange}) \textbf{→} (\textbf{brown}).
Сейчас Фрэнк в Валенсии на знаменитом конкурсе по программированию, он как раз ждет трамвая, чтобы добраться в университет. Между тем, он играет в эту игру, чтобы скоротать время. Солнце светит так ярко, что он не может должным образом видеть экран своего телефона. У Фрэнка имеется некоторая определенность в отношении возможного цвета каждой фигурки, и он задается вопросом, какой будет результирующий цвет после наиболее вероятного сценария игры в результате оценки входной последовательности.
Имеется оценка Фрэнком двух цветов \textbf{A} и \textbf{B}, и комбинация \textbf{A + B → C}, вероятность получить цвет \textbf{C} составляет \textbf{cer(C)} = \textbf{cer(A)} · \textbf{cer(B)}.
\InputFile
Первая строка содержит количество правил \textbf{r }(\textbf{0 }< \textbf{r }≤ \textbf{100}), задающих возможные комбинации цветов. Каждая из следующих \textbf{r }строк содержит три строки \textbf{s_1}, \textbf{s_2}, \textbf{s_3} описывающих комбинацию \textbf{s_1 + s_2 → s_3}. Следующая строка задает количество тестов \textbf{t}. Для каждого теста задается длина \textbf{c }(\textbf{0 }< \textbf{c }≤ \textbf{500}) входной последовательности фигурок. Каждая из следующих \textbf{c }строк описывает фигурку, содержит список пар (\textbf{k}, \textbf{cer(k)}) задающий цвет \textbf{k }и соответствующую вероятность (\textbf{0} < \textbf{cer(k)} ≤ \textbf{1.0}). Список завершается словом \textbf{END}. Сумма вероятностей для каждой фигурки всегда составляет \textbf{1.0}. Каждый цвет в тестах сначала встречается в правилах, описывающих игру.
\OutputFile
Для каждого теста вывести цвет, с которым наиболее вероятно закончить игру. Если завершить игру невозможно, вывести \textbf{GAMEOVER}.
\textbf{Объяснения к примерам}
\textit{\textbf{Первый тест}}
В первом тесте всего две фигурки. Фрэнк уверен, что вторая фигурка \textbf{Yellow}, но первой может быть \textbf{Red} или \textbf{Orange}. Имеются два возможных решения игры:
1. \textbf{(Red; Yellow) → (Orange) :}
\textbf{cer(Orange)} = \textbf{0.7}
2. \textbf{(Orange; Yellow) → (Yellow) :}
\textbf{cer(Yellow)} = \textbf{0.3}
По оценкам Фрэнка более вероятно окончание \textbf{1}, поэтому финальный цвет \textbf{Orange}.
\textit{\textbf{Второй тест}}
Во втором тесте имеются несколько фигурок и оценок. Два возможных решения:
1. \textbf{(Blue,Yellow,Yellow,Red) → (Blue,Yellow,Orange) → (Blue,Yellow) → (Green)}
\textbf{cer(Green) = 0.006}
2. \textbf{(Green,Red,White,Black) → (Green,Pink,Black) → (Green,Red) → (Yellow)}
\textbf{cer(Yellow) = 0.036}
По оценкам Фрэнка более вероятно окончание \textbf{2}, поэтому финальный цвет \textbf{Yellow}.
\textit{\textbf{Третий тест}}
Фрэнк уверен, что у него имеются две фигурки \textbf{Blue} и \textbf{Orange}. Не существует правила, по которому их можно скомбинировать, поэтому игра не имеет решения.
Входные данные #1
7 Blue Yellow Green Yellow Red Orange Green Red Yellow White Red Pink Pink Black Red Orange Red Red Yellow Orange Yellow 3 2 Red 0.7 Orange 0.3 END Yellow 1.0 END 4 Blue 0.6 Green 0.4 END Red 0.2 Orange 0.6 Yellow 0.2 END White 0.9 Yellow 0.1 END Red 0.5 Black 0.5 END 2 Blue 1.0 END Orange 1.0 END
Выходные данные #1
Orange Yellow GAMEOVER