Easy sum
Difficulty: Hard

Little Kevin had never heard the word 'Infinitum'. So he asked his mentor to explain the word to him. His mentor knew that 'Infinitum' is a very large number. To show him how big [Infinitum](http://en.wikipedia.org/wiki/Ad_infinitum) can be, his mentor gave him a challenge: to sum the numbers from _1_ up to _N_. The sum started to get really large and was out of `long long int` range. And so the lesson was clear.

Now his mentor introduced him to the concept of *mod* and asked him to retain only the remainder instead of the big number. And then, he gave him a formula to compute:

$$\sum_{i=1}^{N} (i\%m)$$

**Input Format**  
The first line contains _T_, the number of test cases.  
_T_ lines follow, each containing 2 space separated integers _N m_

**Output Format**  
Print the result on new line corresponding to each test case.  

**Constraint**  
1 &le; _T_ &le; 1000  
1 &le; _N_ &le; 10<sup>9</sup>  
1 &le; _m_ &le; 10<sup>9</sup>

**Sample Input**  

	3
	10 5
	10 3
	5 5

**Sample Output**  

	20
    10
    10
    
**Explanation**  
Case 1: _N_ = 10 _m_ = 5,  
1%5 + 2%5 + 3%5 + 4%5 + 5%5 + 6%5 + 7%5 + 8%5 + 9%5 + 10%5 = 20.  
Similar explanation follows for Case 2 and 3. 
    
    


Input Format:

Output Format:

Sample Input:

Sample Output:

Python 3 starter code:
#
# Complete the 'solve' function below.
#
# The function is expected to return an INTEGER.
# The function accepts following parameters:
#  1. INTEGER n
#  2. INTEGER m
#

def solve(n, m):
    # Write your code here




Reference solution (Python):
###Python 2  
```python  
for c in xrange(input()):print(lambda N,m:N/m*m*(m-1)/2+(N%m*2+1)**2/8)(*map(int,raw_input().split()))
```