   program abc163d
      implicit none
      integer(8)::n,k
      integer(8)::i,j
      integer(8)::num,x,y
      integer(8),parameter::eps=10**9+7

         read *, n,k

         num=0
         do i=k,n+1
            x=forsum(i-1)
            y=anysum(n+1-i,n)
            num=num+(y-x+1)
            num=mod(num,eps)
         end do

         print *, num
         stop

    contains
      function forsum(n)
         implicit none
         integer(8),intent(in)::n
         integer(8)::forsum

            forsum=n*(n+1)/2
            return
      end function forsum

      function anysum(start,end)
         implicit none
         integer(8),intent(in)::start,end
         integer(8)::anysum,numterm

            numterm=end-start+1
            anysum=numterm*(2*start+numterm-1)/2
            return
      end function anysum

   end program abc163d