#include<stdio.h>
int main(void){
  long mod=1000000007;
int n,k;
  scanf("%d%d",&n,&k);
  long min=0,max=0;		
  long count=0;
  for(int i=0;i<k;i++){//累積和の開始点
    min+=i;
    max=max+n-i;
  }
//  printf("min=%ld max=%ld\n",min,max);
  count+=max-min+1;
  //printf("パターン数=%ld\n",count);
  for(int i=k;i<n+1;i++){
    min+=i;
    max+=n-i;   
  count+=max-min+1;
  //printf("min=%ld max=%ld\n",min,max);
  //printf("パターン数=%ld\n",count);
  }
  printf("%ld",count%mod);
  return 0;
}