#include<iostream>
#include<algorithm>
using namespace std;
#define MAXN 1000005
typedef long long ll;
ll m[MAXN],a[MAXN];
ll n;
void exgcd(ll a,ll b,ll &x,ll &y)
{
if(!b)
{
x=1;
y=0;
return ;
}
exgcd(b,a%b,x,y);
ll t=x;
x=y;
y=t-(a/b)*y;
}
ll crt(ll a[],ll m[],ll n)
{
ll M=1;
ll ans=0;
ll x,y;
for(ll i=0;i<n;i++)
{
M*=m[i];
}
for(ll i=0;i<n;i++)
{
ll Mi=M/m[i];
exgcd(Mi,m[i],x,y);
ans=(ans+Mi*x*a[i])%M;
}
return (ans+M)%M;
}
int main()
{
cin>>n;
for(ll i=0;i<n;i++)
{
cin>>m[i]>>a[i];
}
cout<<crt(a,m,n)<<endl;
return 0;
}