output_description: Print the number of possible values of the sum, modulo (10^9+7).
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N K
attempt: N, k = map(int, input().split())
  n = N + 1
  a1 = -(n**3 - k**3) * 2
  a2 = -(n**2 + k**2) * 3
  a3 = -(n - k) * 1
  A = (a1 + a2 + a3) // 6
  B = n * (n + k) * (n - k + 1) // 2
  C = n - k + 1
  print((A + B + C) % (10**9 + 7))
  
problem_description: Statement
  
  We have N+1 integers: 10^{100}, 10^{100}+1, ..., 10^{100}+N.
  
  We will choose K or more of these integers. Find the number of possible values
  of the sum of the chosen numbers, modulo (10^9+7).
samples: [{"input": "3 2", "output": "10\n    \n\nThe sum can take 10 values, as follows:\n\n  * (10^{100})+(10^{100}+1)=2\\times 10^{100}+1\n  * (10^{100})+(10^{100}+2)=2\\times 10^{100}+2\n  * (10^{100})+(10^{100}+3)=(10^{100}+1)+(10^{100}+2)=2\\times 10^{100}+3\n  * (10^{100}+1)+(10^{100}+3)=2\\times 10^{100}+4\n  * (10^{100}+2)+(10^{100}+3)=2\\times 10^{100}+5\n  * (10^{100})+(10^{100}+1)+(10^{100}+2)=3\\times 10^{100}+3\n  * (10^{100})+(10^{100}+1)+(10^{100}+3)=3\\times 10^{100}+4\n  * (10^{100})+(10^{100}+2)+(10^{100}+3)=3\\times 10^{100}+5\n  * (10^{100}+1)+(10^{100}+2)+(10^{100}+3)=3\\times 10^{100}+6\n  * (10^{100})+(10^{100}+1)+(10^{100}+2)+(10^{100}+3)=4\\times 10^{100}+6\n\n* * *"}, {"input": "200000 200001", "output": "1\n    \n\nWe must choose all of the integers, so the sum can take just 1 value.\n\n* * *"}, {"input": "141421 35623", "output": "220280457"}]