代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=15;
int n;
int a[maxn],b[maxn];
ll mi[maxn];
ll M=1,ans;
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;
}
int main()
{
freopen("crt.in","r",stdin);
freopen("crt.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d %d",&a[i],&b[i]);
for(int i=1;i<=n;i++) M*=a[i];
for(int i=1;i<=n;i++)
{
mi[i]=M/a[i];
ll x=0,y=0;
exgcd(mi[i],a[i],x,y);
ans+=b[i]*mi[i]*((x+a[i])%a[i]);
}
printf("%lld",ans%M);
return 0;
}