#include #include #include #include #include #define FOR(i,a,b) for(int i = a; i<=b; i++) #define PII pair #define fi first #define se second using namespace std; PII M[247][247]; bool prej_hrany[247][247]; map id; vector name; double zaciatok; int zac_vrchol; bool lepsia; int N; void DFS(int vrchol, double value) { //printf("%lf\n", value); if (vrchol == zac_vrchol) { if (value > zaciatok) lepsia = true; } //printf("Prehladavam %d \n", vrchol); FOR(i,0,N-1) { PII act = M[vrchol][i]; if (act.fi != 0 && act.se != 0 && !prej_hrany[vrchol][i]) { prej_hrany[vrchol][i] = true; double nova = (value/act.fi) * act.se; DFS(i,nova); } } } int main() { cin >> N; while(N > 0) { string n; name.resize(N); FOR(i,0,N-1) { cin >> name[i]; id[name[i]] = i; } int h; cin >> h; FOR(i,0,N-1) FOR(j,0,N-1) M[i][j] = make_pair(0,0); string a, b; int v1, v2; FOR(i,0,h-1) { cin >> a >> b; scanf("%d:%d", &v1, &v2); M[ id[a] ][ id[b] ] = make_pair(v1,v2); } lepsia = false; FOR(i,0,N-1) { FOR(a,0,N-1) FOR(b,0,N-1) prej_hrany[a][b] = false; zaciatok = 1000; zac_vrchol = i; DFS(i,1000); } if (lepsia) cout << "Arbitrage" << endl; else cout << "Ok" << endl; cin >> N; } return 0; }