Задачі
Арбітраж
Арбітраж
Арбітраж - це використання розходжень у валютних курсах, завдяки якому у результаті обміну можна перетворити одну одиницю валюти у більш ніж одну одиницю цієї ж валюти. Наприклад, нехай \textbf{1} долар США коштує \textbf{0.5 }британських фунтів, \textbf{1} Британський фунт коштує \textbf{10.0 }французських франків, а \textbf{1} французський франк коштує \textbf{0.21 }доларів США. Тоді при обміні валюти розумний трейдер може за \textbf{1} долар США придбати \textbf{0.5 * 10.0 * 0.21 = 1.05 }доларвв США, отримавши прибуток у \textbf{5} відсотків.
Напишіть програму, яка за списком курсів валют визначить, чи можливий арбітраж чи ні.
\InputFile
Вхідні дані складаються з одного чи декількох тестів. Перший рядок кожного тесту містить кілбкість різних валют \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{30}). Кожен з наступних \textbf{n} рядків містить назву валюти. Назва не містить у собі пропусків. У наступному рядку задається розмір \textbf{m} таблиці, яка йде далі. Кожен з наступних \textbf{m }рядків містить назву \textbf{c_i} початкової валюти, дійсне число \textbf{r_ij}, яке задає обмінний курс від \textbf{c_i} до \textbf{c_j} та назву \textbf{c_j} валюти, у яку виконується обмін. Обмін, не вказаний у таблиці, вважається неможливим.
Тести відокремлено один від одного порожнім рядком. Ознака кінця вхідних даних - значення \textbf{0} для \textbf{n}.
\OutputFile
Для кожного тесту вивести у окремому рядку чи можливий арбітраж у форматі "\textbf{Case i: Yes}" або "\textbf{Case i: No}", де \textbf{i}- номер тесту.
Вхідні дані #1
3 USDollar BritishPound FrenchFranc 3 USDollar 0.5 BritishPound BritishPound 10.0 FrenchFranc FrenchFranc 0.21 USDollar 3 USDollar BritishPound FrenchFranc 6 USDollar 0.5 BritishPound USDollar 4.9 FrenchFranc BritishPound 10.0 FrenchFranc BritishPound 1.99 USDollar FrenchFranc 0.09 BritishPound FrenchFranc 0.19 USDollar 0
Вихідні дані #1
Case 1: Yes Case 2: No