#include<bits/stdc++.h>
using namespace std;
long long n;
long long a[11],b[11];
long long M[11],QAQ=1;
long long x,y,ans;
void exgcd(long long a,long long b,long long&x,long long&y)
{
if(!b)
{
x=1,y=0;
return;
}
exgcd(b,a%b,x,y);
long long z=x;
x=y,y=z-y*(a/b);
}
int main()
{
// freopen("123.txt","r",stdin);
// freopen(".out","w",stdout);
cin>>n;
for(long long i=1;i<=n;i++)
cin>>a[i]>>b[i],QAQ*=a[i];
for(long long i=1;i<=n;i++)
M[i]=QAQ/a[i];
for(long long i=1;i<=n;i++)
{
exgcd(M[i],a[i],x,y);
x=(x%QAQ+QAQ)%QAQ;
// printf("%lld*%lld=1(998244353ll%lld)\n",M[i],t,a[i]);
ans=((ans+x*M[i]*b[i])%QAQ+QAQ)%QAQ;
}
cout<<ans;
}
exgcd(M[i],a[i],x,y);
x=(x%QAQ+QAQ)%QAQ;
//
Look,这里提前膜就错了,删掉就对了
怪哉
怪哉
这是为什么呢?望dalao解惑