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 = [int(s) for s in input().split()]
  MOD = 10**9 + 7
  a = N - K + 2
  a += (N + 1) * (N * (N + 1) - K * (K - 1)) // 2
  a -= N * (N + 1) * (2 * N + 1) // 6
  a += K * (K - 1) * (2 * K - 1) // 6
  print(a % MOD)
  
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"}]