rt
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using ll_ = __int128;
using pii = pair<ll_, ll_>;
const int N = 1e5 + 5;
int n;
ll a[N], m[N];
ll_ Gcd(ll_ x, ll_ y){
return !y ? x : Gcd(y, x % y);
}
ll_ Lcm(ll_ x, ll_ y){
return x / Gcd(x, y) * y;
}
pii Exgcd(ll_ a, ll_ b){
if(!b) return {1, 0};
pii res = Exgcd(b, a % b);
return {res.second, res.first - a / b * res.second};
}
ll_ Excrt(int n, ll a[], ll m[]){
ll_ A = a[1], M = m[1];
for(int i = 2; i <= n; i++){
ll_ p = Exgcd(M, m[i]).first;
ll_ gcd = Gcd(M, m[i]), lcm = Lcm(M, m[i]);
p = (p * (A - a[i]) / gcd % lcm + lcm) % lcm;
A = ((M * p + A) % lcm + lcm) % lcm;
M = lcm;
}
return A % M;
}
int main(){
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
cin >> n;
for(int i = 1; i <= n; i++){
cin >> m[i] >> a[i];
}
cout << (ll)Excrt(n, a, m);
return 0;
}