N,K = map(int,input().split()) MOD = 10**9+7 A = list(range(N+1)) A[0] = 1 for i in range(1,N+1): A[i] = A[i-1]*i%MOD B = list(range(N+1)) B[0] = 1 B[N] = pow(A[N],MOD-2,MOD) for i in range(N-1,0,-1): B[i] = B[i+1]*(i+1)%MOD def perm(n,k): if k>n:return 0 return A[n]*B[n-k]%MOD ans = ((perm(N-1,K)+K*(K-1)//2*perm(N-2,K-2))*N*(N-1)//2+N*perm(N-1,K))%MOD print(ans)