#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;
}