//求逆元模板 ll gcd(ll a,ll b,ll &x,ll &y){ if (b==0){ x=1,y=0; return a; } ll q=gcd(b,a%b,y,x); y-=a/b*x; return q; } ll ni(ll m,ll n) { ll x = 0,y = 0; gcd(n,m,x,y); if(y > 0) return y; else return n+y; }
//求逆元模板 ll gcd(ll a,ll b,ll &x,ll &y){ if (b==0){ x=1,y=0; return a; } ll q=gcd(b,a%b,y,x); y-=a/b*x; return q; } ll ni(ll m,ll n) { ll x = 0,y = 0; gcd(n,m,x,y); if(y > 0) return y; else return n+y; }