#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int c, r; char buffer[40]; map kody; struct Zlomek{ int cit; int jmen; bool operator<(const Zlomek& z)const{ return cit * z.jmen < z.cit*jmen; } bool operator>(const Zlomek& z)const{ return cit * z.jmen > z.cit*jmen; } Zlomek operator *(const Zlomek& z)const{ return Zlomek (cit*z.cit,jmen*z.jmen); } Zlomek(int c,int j):cit(c),jmen(j){} Zlomek(){} }; Zlomek graf[400]; struct Hrana{ int z, d; Zlomek pomer; }; Hrana hrany[40400]; int main() { while(1) { scanf("%d", &c); if (!c) break; for (int i=0; i<=c; i++) graf[i] = Zlomek(0,1); kody.clear(); for (int i=0; i(string(buffer), i)); } scanf("%d", &r); char k1[4], k2[4]; int i1, i2, p1, p2; for (int i=0; igraf[d]){ graf[d] = graf[z]*hrany[j].pomer; changed = true; } } if(i == c+1 && changed){ arbitrage = true; } } printf(arbitrage?"Arbitrage\n":"Ok\n"); } return 0; }