#include #include #include #include #include #include #include #include #include #include #define FOR(i,n) for(int i=0; i PII; const int MAX = 7100; const int MAX_I=100100; const int INF=1000000000; const LL INF_LL=INF; bool vis[MAX]; vector pier; void set_pier() { for(int i=2; i= 0LL && wyn % no[i].cykl != no[i].kiedy && zl < no[i].cykl) { wyn += raz; ++zl; } if (zl == no[i].cykl || wyn < 0LL) return -1; raz *= no[i].cykl; } return wyn; } vector V,Z; PII dane[20]; int main() { set_pier(); int n,a,b; while(1) { koniec: Z.clear(); scanf("%d", &n); if(n==0) return 0; FOR(i,n) { scanf("%d%d", &dane[i].frs,&dane[i].sec); Z.psh(dane[i].frs + 1); } REP(q,2000) { REP(w,2000) { int l = w + q; int k = w; V.clear(); FOR(i,n) V.psh(Z[i]); a=l; FORI(it,V) *it=*it*a; int b=k; FORI(it,V) *it=*it/b; bool bol=1; FOR(i,n) { if(V[i]<=dane[i].sec) bol=0; for(int j=i+1; j