QWQ
#include<bits/stdc++.h>
#define int __int128
using namespace std;
const int N=100;
long long a[N],b[N];
long long n;
int fpow(int a,int b,int p){
if(b==0)return 1;
int mid=fpow(a,b/2,p);
mid=mid*mid%p;
if(b%2==0)return mid%p;
else return mid*a%p;
}
int phi(int x){
int ans=x;
int i=2;
while(x && i*i<=x){
if(x%i==0){
ans=ans/i*(i-1);
while(x%i==0)x/=i;
}
i++;
}
if(x)ans=ans/x*(x-1);
return ans;
}
int rev(int x,int p){
return fpow(x,phi(p)-1,p);
}
signed main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i]>>b[i];
int mod=1,ans=0;
for(int i=1;i<=n;i++)mod*=a[i];
for(int i=1;i<=n;i++){
int modi=(int)mod/a[i];
int r=rev(modi,(int)a[i]);
ans+=(int)b[i]*modi*r%mod;
ans%=mod;
}
cout<<(long long)(ans);
}