#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define fi first #define se second #define mp make_pair #define rep(i, n) for(int i=0;i=0;--i) const int inf=1e9+7; const ll mod=1e9+7; const ll big=1e18; const double PI=2*asin(1); ll fact[100000005]; ll N, K; ll getcomb(ll a, ll b){ ll ue = fact[a]; ll shita1=1, shita2=1, tmpshita1, tmpshita2; ll h = mod-2; ll two; while(h>0){ tmpshita1 = fact[b]; tmpshita2 = fact[a-b]; two = 1; while(2*two<=h){ two *= 2; tmpshita1 *= tmpshita1; tmpshita1 %= mod; tmpshita2 *= tmpshita2; tmpshita2 %= mod; } h -= two; shita1 *= tmpshita1; shita2 *= tmpshita2; shita1 %= mod; shita2 %= mod; } return ue*shita1%mod*shita2%mod; } int main() { fact[0] = 1; for(ll i=1;i<100000005;++i){ fact[i] = fact[i-1]*i%mod; } cin>>N>>K; ll A[N]; for(int i=0;i>A[i]; ll ans = 0; for(int i=0;i