Combc; ll@d,@l,@r,@k; (l,r)=31-__builtin_clz((l,r)); Mint p=(l+r-k&1)<(r-l<=k<=l+r); p*=c.fac(1<<(0..d-1)); ll m=l+r-k>>1; wt(lm)):p/((1<