#include #define be(v) (v).begin(),(v).end() #define pb(q) push_back(q) #define era(t) t.erase(unique(be(t)),t.end()) #define doublecout(a) cout<inline T lcm(T a,T b){return (a*b/__gcd(a,b));} ll fac[100007],finv[100007],inv[100007]; void cominit(){ fac[0]=fac[1]=1; finv[0]=finv[1]=1; inv[1]=1; for(int i=2;i<100007;i++){ fac[i]=fac[i-1]*i%mod; inv[i]=mod-inv[mod%i]*(mod/i)%mod; finv[i]=finv[i-1]*inv[i]%mod; } } ll com(ll n,ll k){ if(n>n; ll a[n]; for(int i=0;i>a[i]; } if(n==1){ cout <