#include<stdio.h>
long mod=1000000007;
int main(void){
  int n,k;
  scanf("%d%d",&n,&k);
  //前提:個数の違う組み合わせなら重複はしない
  //個数同じ時:最大値-最小値+1でおｋ
  long total=0;
  long max=0,min=0;
  for(int i=0;i<k;i++){
	min+=i;
    max+=n-i;
  }
  total+=max-min+1;
  for(int j=k;j<=n;j++){
	min+=j;
    max+=n-j;
    total+=max-min+1;
  }
  printf("%ld",total%mod);
  return 0;
}