#include <stdio.h>
#include <float.h>

int main()
{
    long int i;
    long int n, k;
    long int min, max;
    long int sum = 0;
    scanf("%ld %ld", &n, &k);

    for(i=k; i<=(n+1); i++)
    {
        min = (i-1)*i/2;
        max = n*(n+1)/2 - (n-i)*(n+1-i)/2;
//        printf("min=%ld, max=%ld\n", min, max);
//        printf("i=%ld, add=%ld\n", i, (max-min+1));
        sum += (max - min + 1);
    };
    printf("%ld\n", sum%1000000007);

    return 0;
}


// 1からnまでの和 = n*(n+1)/2
// min: 20000100000
// max: 
