那么简单您们肯定都会了鸭!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
直接上代码了鸭!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
#define ll __int128
#define MAXN 200000
ll n, a[MAXN], m[MAXN];
inline ll read() {
ll s = 0, w = 1;
char c = getchar();
for (; !isdigit(c); c = getchar()) if (c == '-') w = -1;
for (; isdigit(c); c = getchar()) s = (s << 1) + (s << 3) + (c ^ 48);
return s * w;
}
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 z = x;
x = y, y = z - (a / b) * y;
return gcd;
}
/*ll pow(ll a, ll b, ll p) {
ll ans = 1;
while (b) {
if (b % 2) (ans *= a) %= p;
(a *= a) %= p;
b /= 2;
}
return ans;
}*/
ll excrt() {
ll M = m[1], A = a[1], t, d, x, y;
for (register ll i = 2; i <= n; i++) {
d = exgcd(M, m[i], x, y);
//if ((a[i] - A) % d) return -1;
x *= (a[i] - A) / d, t = m[i] / d, x = (x % t + t) % t;
A += M * x, M = M / d * m[i], A %= M;
}
return (A % M + M) % M;
}
int main() {
n = read();
for (register int i = 1; i <= n; i++)
m[i] = read(), a[i] = read();
printf("%lld", excrt());
return 0;
}