ll gcd(ll a,ll b) { return b==0?a:gcd(b,a%b); }
ll gcd(ll a,ll b) { while(b^=a^=b^=a%=b); return a; }
ll gcd(ll a,ll b) { return __gcd(a,b); }