#include<bits/stdc++.h>
using namespace std;
typedef __int128 ll;
ll k,a[1000010],r[1000010],x,y;
ll in()
{
int x=0;int f=1;char ch=getchar();
while (!isdigit(ch)){if (ch=='-')f=-1;ch=getchar();}
while(isdigit(ch)){x=x*10+ch-48;ch=getchar();}
x*=f;
return x;
}
void out(ll x)
{
if(x<0){
putchar('-');
x=-x;
}
if(x>9) out(x/10);
putchar(x%10+'0');
}
ll exgcd(ll a,ll b)
{
if(!b)
{
x=1;y=0;
return a;
}
ll t=exgcd(b,a%b),p=x;
x=y;
y=p-a/b*y;
return t;
}
ll excrt(ll n)
{
for(int i=1;i<n;i++)
{
ll A=r[i],B=r[i+1],C=(a[i+1]-a[i]);
ll D=exgcd(A,B);
C=(C%B+B)%B;
if(C%D!=0) {return -1;}
x=((x*C/D)%(B/D)+(B/D))%(B/D);
r[i+1]=r[i]*r[i+1]/D;
a[i+1]=x*r[i]+a[i];
a[i+1]=(a[i+1]%r[i+1]+r[i+1])%r[i+1];
}
return (a[n]%r[n]+r[n])%r[n];
}
int main()
{
k=in();
for(int i=1;i<=k;i++)
{
r[i]=in();a[i]=in();
}
out(excrt(k));
return 0;
}