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: Z = list(map(int, input().split()))
  N = Z[0]
  K = Z[1]
  x = int(N * (N + 1) * (N + 2) / 6 + (K - 1) * K * (2 * K - 3 * N - 4) / 6 + N + 2 - K)
  y = x % 1000000007
  print(y)
  
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"}]