详见:https://oi-wiki.org/math/number-theory/linear-equation/

ll f[N],g[N],pw2[N];

ll q_pow(ll x,ll y)//快速幂
{
    ll ans=1;
    while(y)
    {
        if(y&1) ans=ans*x%mod;
        y>>=1;
        x=x*x%mod;
    }
    return ans;
}

void init()
{
	f[0]=1;g[0]=1;pw2[0]=1;
	for(int i=1;i<N;i++)
   	{
		pw2[i]=pw2[i-1]*2%mod;
		f[i]=f[i-1]*i%mod;
		g[i]=g[i-1]*q_pow(i,mod-2)%mod;//逆元
	}
}

ll C(ll n, ll m)
{
	if(m>n) return 0ll;
	return f[n]*g[m]%mod*g[n-m]%mod;
}