N,K = map(int,input().split()) if N == 1: print(0) exit() MOD = 10 ** 9 + 7 fact = [1]*(N+1) rfact = [1]*(N+1) r = 1 for i in range(1, N+1): fact[i] = r = r * i % MOD rfact[N] = r = pow(fact[N], -1, MOD) for i in range(N, 0, -1): rfact[i-1] = r = r * i % MOD # nCk (mod MOD) を求める def comb(n, k): return fact[n] * rfact[k] * rfact[n-k] % MOD def perm(n, k): return fact[n] * rfact[n-k] % MOD ans = 0 if K < N: ans = (N*(N+1)//2 * perm(N-1,K)) % MOD ans += N * (N-1) // 2 * comb(K,K-2) * perm(N-2,K-2) ans %= MOD print(ans)