int stein(int a,int b)
{
if(a==0) return b;
if(b==0) return a;
if(a%2==0 && b%2==0) return 2*stein(a>>1,b>>1);
else if(a%2==0) return stein(a>>1,b);
else if(b%2==0) return stein(a,b>>1);
else return stein(abs(a-b),min(a,b));
}
//对于较大的素数效率较高