//扩展中国剩余定理
#include<bits/stdc++.h>
using namespace std;
long long x,y,d;//d存储最大公约数
long long b[100010],a[100010];
int n;
void gcd(long long a,long long b);//求不定方程ax+by=gcd(a,b)的根
int lcm(long long a,long long b);
int main()
{
cin>>n;
cin>>a[1]>>b[1];
for(int i=2;i<=n;i++)
{
cin>>a[i]>>b[i];
gcd(a[i-1],a[i]);
while(x<0) x+=(a[i]/d);
long long t=x*(b[i]-b[i-1])/d;//t就是X0'
long long m=a[i-1]*t+b[i-1];//m就是x'
b[i]=m;
a[i]=lcm(a[i-1],a[i]);//新的同余方程
}
//cout<<b[n]<<" "<<a[n]<<endl;
cout<<b[n]+a[n]<<endl;
return 0;
}
void gcd(long long a,long long b)
{
if(b==0) {d=a;x=1;y=0;}
else
{
gcd(b,a%b);
long long t;
t=x;x=y;y=t-(a/b)*y;
}
}
int lcm(long long a,long long b)
{
gcd(a,b);
return a*b/d;
}