



type
  Tzlomek = record
              a, b : longint;
            end; 





var
  pocet : longint;
  kody : array[1..200] of string[3];
  transakce : array[1..200, 1..200] of TZlomek; 
  dostupnost : array[1..200, 1..200] of TZlomek;
  i, j, k : longint;
  kod1, kod2 : string[4];
  transakci, a, b : longint;
  pomer : string;
  radek : string;
  zmena, konec : boolean;
  nova, pom : TZlomek;

 

function cisloMeny(kod : string) : longint;
var
  i : longint;
begin
  i := 1;
  while kody[i] <> kod do begin
    inc(i);
  end;

  cisloMeny := i;


end;


procedure prevedPomer(pomer : string; var a, b : longint);
var
  i, err : longint;
  c1, c2 : longint;
  
begin
  i := pos(':', pomer);
  val(copy(pomer, 1, i - 1), c1, err);
  val(copy(pomer, i + 1, length(pomer) - i), c2, err);

 

  a := c1;
  b := c2;
  
  
end;



function NSD(a, b : longint) : longint;
var
  r : longint;
begin
  r := a mod b;
  while r <> 0 do begin
    
    a := b;
    b := r;
    r := a mod b;
  end;  
 
  NSD := b;

end; 


procedure nasobek(x, y : Tzlomek; var z : TZlomek);
var

  n : longint;
begin
  
  


  z.a := x.a * y.a;
  z.b := x.b * y.b;

  n := NSD(z.a, z.b);

  z.a := z.a div n;
  z.b := z.b div n;

  

end;



function mensi(x, y : TZlomek) : boolean;
begin
  mensi := (x.a / x.b) < (y.a / y.b);



end;






begin





readln(pocet);


while pocet <> 0 do begin
  konec := false;
  for i := 1 to 200 do begin
     for j := 1 to 200 do begin
       transakce[i, j].a := 0; 
       transakce[i, j].b := 0;
       dostupnost[i, j].a := 0;
       dostupnost[i, j].b := 0;
     end;
  end; 


 { writeln(NSD(23, 14));}


  
  for i := 1 to pocet do begin
    read(kod1);
    if kod1[1] = ' ' then begin
      delete(kod1, 1, 1);
    end;
    {kod1 := copy(radek, 1, 3);
    delete(radek, 1, 4);}
    
    kody[i] := kod1;    
    {writeln(kod1);}
  end;  


  


  readln(transakci);
  for i := 1 to transakci do begin
    readln(radek);
    kod1 := copy(radek, 1, 3);
    kod2 := copy(radek, 5, 3);
    pomer := copy(radek, 9, length(radek) - 8); 
    prevedPomer(pomer, a, b); 
  
    transakce[cisloMeny(kod1), cisloMeny(kod2)].a := a;
    transakce[cisloMeny(kod1), cisloMeny(kod2)].b := b;

  end;



  for i := 1 to pocet do begin
    for j := 1 to pocet do begin
      if transakce[i, j].a <> 0 then begin
        dostupnost[i, j] := transakce[i, j];
      end;
    end;
  end;

  pom.a := 1;
  pom.b := 1;

  zmena := true;
  while (zmena) and not(konec) do begin
    zmena := false;
    for k := 1 to pocet do begin
      if dostupnost[k, k].a <> 0 then begin
        if mensi(dostupnost[k, k], pom) then begin
          writeln('Arbitrage');
          konec := true;
          break;
        end;
        

      end;
      for i := 1 to pocet do begin
        if konec then break;
        if dostupnost[k, i].a <> 0 then begin
          for j := 1 to pocet do begin
            if dostupnost[i, j].a <> 0 then begin
              nasobek(dostupnost[k, i], dostupnost[i, j], nova);
            {  writeln(nova.a, '/', nova.b);}
              if (dostupnost[k, j].a = 0) or (mensi(nova, dostupnost[k, j])) then begin
                dostupnost[k, j] := nova; 
                zmena := true;
                if dostupnost[k, k].a <> 0 then begin
                  if mensi(dostupnost[k, k], pom) then begin
                    writeln('Arbitrage');
                    konec := true;
                    break;
                  end;
                end;
              end;
            end;
          end;
        end;
      end;   
    end;
  end;

 { for i := 1 to pocet do begin
    for j := 1 to pocet do begin
      write(dostupnost[i, j].a, '/', dostupnost[i, j].b, '  '); 
    end;
    writeln;
  end;}

  if not konec then begin
    writeln('Ok');
  end;

  readln(pocet);

end;










end.