uses crt;
var i,n,k:longint;
t:extended;
d:qword;
begin
clrscr;
t:=0;
readln(n,k);
d:=n-k*2+2;
if d>=0 then
begin
t:=(d-1)*d div 2;
t:=t-trunc(t/1000000007)*1000000007;
t:=(trunc(t)*(k-1)+d);
t:=t-trunc(t/1000000007)*1000000007;
end;
writeln(t:0:0);
readln;
end.