// yukicoder 823 Many Shifts Easy // 2019.9.11 bal4u #include typedef long long ll; #define MOD 1000000007 #define INV4 250000002 int main() { int i, N, K, ans; ll a; scanf("%d%d", &N, &K); a = 1; for (i = N-K+1; i <= N; i++) a = a * i % MOD; ans = ((ll)(N+1)*(N-K)*2 + (ll)K*(K-1)) % MOD; ans = a * ans % MOD * INV4 % MOD; if (ans < 0) ans += MOD; printf("%d\n", ans); return 0; }