ll exgcd(ll a,ll b,ll &x,ll &y)// 扩展欧几里得 { if(b==0) { x=1; y=0; return a; } ll temp=exgcd(b,a%b,y,x); y-=(a/b)*x; return temp; } ll finv(ll a,ll m)// 求出a mod m下的逆元 { ll x,y; ll g=exgcd(a,m,x,y); x=(x%m+m)%m;// return x; }