import std.algorithm;
import std.conv;
import std.math;
import std.range;
import std.stdio;
import std.string;
import std.typecons;

//0 + 1 + .. + n
long s (int n) {
  return (n.to!long * (n + 1)) / 2; 
}

long f (int n, int k) {
  long minv = s (k - 1);
  long maxv = s (n) - s (n - k);
  return (maxv - minv + 1) % 1_000_000_007;
}

void main() {
  int n, k;
  readf (" %d %d", &n, &k);
  long res;
  foreach (l; k .. n + 2) {
    res += f (n, l);
  }
  writeln (res % 1_000_000_007);
}

