#include<bits/stdc++.h>
using namespace std;
#define int __int128
mt19937 rnd;
inline int read()
{
int w = 0, f = 1;
char ch = getchar();
while (ch < '0' || ch > '9')
{
if (ch == '-') f = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9')
{
w = (w << 1) + (w << 3) + (ch ^ 48);
ch = getchar();
}
return w * f;
}
inline void write(int x)
{
if (x < 0)
{
putchar('-');
x = -x;
}
if (x > 9) write(x / 10);
putchar(x % 10 + '0');
}
struct ggg
{
int a, b;
} num[100005];
int gcd(int a,int b)
{
if(b==0) return a;
return gcd(b,a%b);
}
int gg(int a, int b)
{
return a / gcd(a, b) * b;
}
bool cmp(ggg a, ggg b)
{
return a.a > b.a;
}
signed main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
#endif
int n;
n = read();
for (int i = 1; i <= n; i++)
{
num[i].a = read();
num[i].b = read();
num[i].b %= num[i].a;
}
// sort(num + 1, num + n + 1, cmp);
int sum = num[1].b;
int lcm = num[1].a;
if (lcm == 0) lcm = sum;
clock_t st = clock();
int ans = 1e18;
for (int i = 2; i <= n; i++)
{
while (sum % num[i].a != num[i].b)
{
sum += lcm;
}
lcm = gg(lcm, num[i].a);
}
ans = min(ans, sum);
write(ans);
return 0;
}
机房大佬 doushen 发明的,求hack