#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=20;
int n,a[N],b[N];
int exgcd(int a,int b,int &x,int &y){
if(!b){x=1,y=0;return a;}
int d=exgcd(b,a%b,x,y),t=x;x=y,y=t-a/b*y;
return d;
}
int qmul(int a,int b,int p){//快速乘,防止爆long long
int res=0;
while(b){
if(b&1) (res+=a)%=p;
b>>=1,a=(a+a)%p;
}
return res;
}
int CRT(){
int res=1,ans=0;
for(int i=1;i<=n;i++) res*=a[i];
for(int i=1;i<=n;i++){
int m=res/a[i],x,y;exgcd(m,a[i],x,y);
x=(x%a[i]+a[i])%a[i];//x可能为负数
(ans+=qmul(qmul(b[i],m,res),x,res))%=res;
}
return ans;
}
signed main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i]>>b[i];
cout<<CRT()<<endl;
return 0;
}
03-21
1128
07-25
1108
03-27
188
05-13
356
09-29
232