#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e6 + 7;
const double eps = 1e-8;
int m[N], r[N], c[N], cinv[N];
int ex_gcd(int a, int b, int &x, int &y) // x,y是ax+by=gcd(a,b)的一组解
{
if (b == 0)
{
x = 1;
y = 0;
return a;
}
int d = ex_gcd(b, a % b, x, y);
int temp = y;
y = x - (a / b) * y;
x = temp;
return d;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
bool flag = false;
int n, M = 1;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> m[i] >> r[i];
M *= m[i];
}
for (int i = 1; i <= n; i++)
{
c[i] = M / m[i];
int x, y;
int g = ex_gcd(c[i], m[i], x, y);
if (g != 1)
{
flag = true;
break;
}
cinv[i] = (x % m[i] + m[i]) % m[i];
}
/*
if (flag)
{
cout << -1;
return 0;
}
*/
int sum = 0;
for (int i = 1; i <= n; i++)
{
sum = sum + (r[i] * c[i] * cinv[i]);
}
sum = sum % M;
while (sum < 0)
{
sum = (sum + M) % M;
}
cout << sum % M;
return 0;
}