#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 5;
int n;
int a[N], m[N];
ll mul(ll a, ll b, ll m) {
int res = 0;
for (; b; b >>= 1) {
if (b & 1) res = (res + a) % m;
a = (a + a) % m;
}
return res;
}
ll exgcd(ll a, ll b, ll &x, ll &y) {
if (b == 0) {
x = 1, y = 0;
return a;
}
ll d = exgcd(b, a % b, x, y);
int z = x;
x = y, y = z - (a / b) * y;
return d;
}
ll excrt() {
ll x, y;
ll m1 = m[1], a1 = a[1];
ll ans = 0;
for (int i = 2; i <= n; i++) {
ll a2 = a[i], m2 = m[i];
ll a = m1, b = m2, c = (a2 - a1 % m2 + m2) % m2;
ll d = exgcd(a, b, x, y);
if (c % d != 0) return -1;
x = mul(x, c / d, b / d);
ans = a1 + x * m1;
m1 = m2 / d * m1;
ans = (ans % m1 + m1) % m1;
a1 = ans;
}
return ans;
}
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; i++) scanf("%d%d", &m[i], &a[i]);
printf("%lld", excrt());
return 0;
}