#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
typedef long long LL;
void Ex_Gcd(LL a, LL b, LL &d, LL &x, LL &y)
{
if(b == 0)
{
d = a;
x = 1;
y = 0;
}
else
{
Ex_Gcd(b, a%b, d, x, y);
LL temp = x;
x = y;
y = temp - (a/b)*y;
}
}
int main()
{
LL i, n, a1, a2, r1, r2, a, b, c, d, x0, y0;
while(~scanf("%I64d", &n))
{
bool flag = true;
scanf("%I64d%I64d", &a1, &r1);
for(i = 1; i < n; ++i)
{
scanf("%I64d%I64d", &a2, &r2);
a = a1, b = a2, c = r2 - r1;
Ex_Gcd(a, b, d, x0, y0);
if(c % d != 0)
flag = false;
int t = b / d;
x0 = x0 * (c/d);
x0 = (x0%t + t)%t;
r1 = a1 * x0 + r1;
a1 = a1 * (a2/d);
}
if(flag)
printf("%I64d\n", r1);
else
{
printf("-1\n");
continue;
}
}
return 0;
}