#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<deque>
#include<queue>
#include<sstream>
#include<stack>
#include<bitset>
#include<numeric>
#include<utility>
#include<iomanip>
#include<list>
#include<cmath>
#include<cstdlib>
#include<ctime>
#include<string>

using namespace std;

#define eps 1e-11
#define INF 1000000009
#define PI 3.14159265358979323
#define sz(a) ((int)a.size())
#define pb push_back
#define mset(a,h) memset(a,h,sizeof(a))
#define wh(a) (a).begin(),(a).end()
#define all(a) (a).begin(),(a).end()
#define REP(i,n) for(__typeof(n) i=0;i<(n);++i)
#define REPS(i,n) for(int(i)=0;i<sz(n);++i)
#define FOR(i,a,b) for(__typeof(b) i=(a);i<=(b);++i)
#define FORD(i,a,b) for(__typeof(a) i=(a);i>=(b);--i)
#define FORE(it,c) for(__typeof((c).begin()) it=(c).begin();it!=(c).end();++it)
#define SQR(a) ((a)*(a))
#define pii pair<int,int>
#define mp make_pair
#define fi first
#define se second
typedef long long LL;
using namespace std;
int C;
map<string,int> M;
double MAT[205][205];
void pis()
{
	cout<<"MAT-----"<<endl;
  REP(i,C)
	{
		REP(j,C)
			cout<<MAT[i][j]<<" ";
		cout<<endl;
	}
	cout<<"MAT-----"<<endl;
}
int main()
{
	while(scanf("%d",&C),C)
	{
		M.clear();

		REP(i,C)
		{
			string s;
			cin>>s;
			M[s]=i;
//			cout<<s<<" "<<i<<endl;
		}
		REP(i,C)REP(j,C)MAT[i][j]=1e100;
		REP(i,C)MAT[i][i]=1;
		int E;
		scanf("%d",&E);
		REP(i,E)
		{
			string a,b;
			cin>>a>>b;
			int x,y;char ch;
			cin>>x>>ch>>y;
//			cout<<a<<" "<<b<<" "<<x<<" "<<y<<endl;
			int ai=M[a],bi=M[b];
//			cout<<"DELIM : "<<x<<" "<<y<<endl;
			MAT[ai][bi]=x/double(y);//1/
		}
		//pis();
		REP(k,C)
			REP(i,C)
			  REP(j,C)
				  MAT[i][j]=min(MAT[i][j],MAT[i][k]*MAT[k][j]);
		double mini=1e10;
		REP(i,C)
			REP(j,C)			
			if (i!=j)
			{
			  mini=min(mini,MAT[i][j]*MAT[j][i]);
				//				cout<<i<<" "<<j<<" "<<MAT[i][j]<<endl;
			} 
//		cout<<"res : "<<1/mini<<endl;
		puts(mini>=1?"Ok":"Arbitrage");

	}


	return 0;
}

