#define ll long long int
#define M bi[i] - x * ai[i]
#define lcm ai[i] * ai[i + 1] / gcd
#include<iostream>
using namespace std;
ll n, k = 1, u0, ans, ai[50000], bi[50000];
inline ll QuickMul(ll a, ll b, ll m)
{
ll c = a * b - (ll)((long double)a * b / m) * m;
return c < 0 ? c + m : c;
}
ll exgcd(ll a, ll b, ll& x, ll& y)
{
if (b == 0) { x = 1, y = 0; return a; }
ll gcd = exgcd(b, a % b, x, y);
ll tmp = x;
x = y, y = tmp - a / b * y;
return gcd;
}
ll excrt() {
ll x, y, c, gcd;
for (int i = 1; i < n; i++)
{
gcd = abs(exgcd(ai[i], ai[i + 1], x, y));
c = bi[i] - bi[i + 1];
x = QuickMul(x,c/gcd,ai[i]);
ll M1 = M;
while (M1 < 0) {
M1 += lcm;
}
ans = (M1) % (lcm);
bi[i + 1] = M1;
ai[i + 1] = lcm;
}
return ans;
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
cin >> ai[i] >> bi[i];
cout << excrt();
return 0;
}