p02708 AtCoder Beginner Contest 163 - Sum of Large Numbers
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).

Constraints

* 1 \leq N \leq 2\times 10^5
* 1 \leq K \leq N+1
* All values in input are integers.

Input

Input is given from Standard Input in the following format:


N K


Output

Print the number of possible values of the sum, modulo (10^9+7).

Examples

Input

3 2


Output

10


Input

200000 200001


Output

1


Input

141421 35623


Output

220280457
```python
n,k=map(int,input().split())
mod=10**9+7
ans=0
for i in range(k,n+2):
    ans=(ans+(n-i+1)*i+1)%mod
print(ans)
```