해외로 여행을 가면 자기 돈을 여러 나라의 통화로 환전해야 할 때가 많습니다. 이 문제는 여러 통화와 그들 사이의 환율을 다룹니다. 주어진 환율 집합이 안전한지, 즉 이른바 차익거래(arbitrage) 가 가능한지를 판별하는 것이 목표입니다.
차익거래란 환율의 불균형을 이용해 위험 없이 이익을 얻는 일련의 환전 과정을 말합니다. 여기서 이익을 얻는다는 것은, 어떤 통화를 일정량 가지고 시작해서 여러 번 환전한 뒤에 같은 통화를 처음보다 더 많이 가지게 되는 것을 뜻합니다.
입력은 여러 개의 테스트 케이스로 이루어집니다.
각 테스트 케이스의 첫 줄에는 통화의 개수를 나타내는 양의 정수 $C$ ($1 \le C \le 200$) 가 주어집니다.
둘째 줄에는 $C$ 개의 통화 코드가 공백으로 구분되어 주어집니다. 각 코드는 대문자 3글자로 이루어지며, 한 테스트 케이스 안의 코드는 모두 서로 다릅니다.
셋째 줄에는 사용할 수 있는 환율의 개수를 나타내는 정수 $R$ ($0 \le R \le C \cdot (C-1)$) 이 주어집니다. 이어지는 $R$ 개의 줄에는 각각 하나의 환율이 다음 형식으로 주어집니다.
CUR1 CUR2 A:B
이는 통화 CUR1 을 $A$ 단위 지불하면 통화 CUR2 를 $B$ 단위 받는다는 뜻입니다. $1 \le A, B \le 100$ 이며 두 통화는 서로 다름이 보장됩니다.
입력의 끝은 0 하나만 있는 줄로 표시되며, 이 줄은 처리하지 않습니다.
각 테스트 케이스마다 한 줄을 출력합니다. 이익을 낼 수 있는 환전 과정이 하나라도 존재하면 Arbitrage 를, 그렇지 않으면 Ok 를 출력합니다.
여기서 이익이란 어떤 통화를 일정량 가지고 시작해서 몇 번이든 환전한 뒤에 같은 통화를 처음보다 더 많이 가지게 되는 것을 뜻합니다.