import java.util.*; import java.lang.*; public class arbitrage { static ArrayList list; static ArrayList listNaz; private class Mena { int id; String nazev; ArrayList deti = new ArrayList(); ArrayList detiF = new ArrayList(); } public float hledej(int id, int new_id, float pomer, Boolean ja) { if((id == new_id) && (!ja)) { return pomer; } Mena men = list.get(new_id); for(int i = 0; i < men.deti.size(); i++) { return hledej(id, men.deti.get(i).id, pomer*men.detiF.get(i), false); } return 1; } public void nacti() { Scanner sc = new Scanner(System.in); mainn: while(true) { listNaz = new ArrayList(); int n = sc.nextInt(); if(n == 0) break; sc.nextLine(); String[] meny = new String[n]; meny = sc.nextLine().split(" "); n = sc.nextInt(); sc.nextLine(); list = new ArrayList(); for(int i = 0; i < meny.length; i++) { Mena men = new Mena(); men.nazev = meny[i]; men.id = i; list.add(men); listNaz.add(meny[i]); } //System.out.println("size: "+list.size()); for(int i = 0; i < n; i++) { String[] kurz = new String[3]; kurz = sc.nextLine().split(" "); String[] kk = kurz[2].split(":"); float f = new Float(kk[0]) / new Float(kk[1]); //System.out.println("F: "+f); int rod = listNaz.indexOf(kurz[0]); Mena rodic = list.get(rod); int dit = listNaz.indexOf(kurz[1]); //System.out.println("dit: "+dit); rodic.deti.add(list.get(dit)); rodic.detiF.add(f); } float k = 1; for(int i = 0; i < list.size(); i++) { k = hledej(i,i,1, true); if(k != 1) break; } if(k != 1) System.out.println("Arbitrage"); else System.out.println("Ok"); System.exit(0); } } public static void main(String[] args) { arbitrage main = new arbitrage(); main.nacti(); } }