#include<bits/stdc++.h>
#define int long long
#define M5 (int)(1e5+3)
using namespace std;
struct equation{int r,mod;};
queue<equation>Q;
int n;
int gcd(int u,int v){return v?gcd(v,u%v):u;}
int lcm(int u,int v){return u/gcd(u,v)*v;}
void exgcd(int a,int b,int&x,int&y){
if(!b){
x=1;
y=0;
return;
}
exgcd(b,a%b,x,y);
int k=x;
x=y;
y=k-y*(a/b);
}
void excrt(){
while(Q.size()>1){
equation e1=Q.front();
Q.pop();
equation e2=Q.front();
Q.pop();
int m1=e1.mod,m2=e2.mod,r1=e1.r,r2=e2.r;
int d=gcd(m1,m2),p1=m1/gcd(m1,m2),p2=m2/gcd(m1,m2);
int g1,g2;
exgcd(p1,p2,g1,g2);
equation e;
e.mod=lcm(m1,m2);
e.r=r1+(r2-r1)/d*g1*m1;
e.r%=e.mod;
Q.push(e);
}
}
signed main(){
scanf("%lld",&n);
for(int i=1;i<=n;++i){
equation e;
scanf("%lld%lld",&e.mod,&e.r);
Q.push(e);
}
excrt();
printf("%lld",Q.front().r);
return 0;
}