中国剩余定理
//模板
int exgcd(int a,int b,int &x,int &y) //扩展欧几里得算法 c = ax + by gcd(a,b)|c
{
if(b==0)
{
x=1;
y=0;
return a;
}
int d = exgcd(b,a%b,y,x);
y -= a/b*x;
return d;
}
int ChineseRemainder(int a[],int w[],int len) // a[]存放余数 w[]存放两两互质的数
{
int x,y,m,n=1,ret=0;
for (int i=0; i<len; i++)
n *= w[i];
for (int i=0; i<len; i++)
{