B. Magical Calendar

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

A competitive eater, Alice is scheduling some practices for an eating contest on a magical calendar. The calendar is unusual because a week contains not necessarily 77 days!

In detail, she can choose any integer kk which satisfies 1≤k≤r1≤k≤r, and set kk days as the number of days in a week.

Alice is going to paint some nn consecutive days on this calendar. On this calendar, dates are written from the left cell to the right cell in a week. If a date reaches the last day of a week, the next day's cell is the leftmost cell in the next (under) row.

She wants to make all of the painted cells to be connected by side. It means, that for any two painted cells there should exist at least one sequence of painted cells, started in one of these cells, and ended in another, such that any two consecutive cells in this sequence are connected by side.

Alice is considering the shape of the painted cells. Two shapes are the same if there exists a way to make them exactly overlapped using only parallel moves, parallel to the calendar's sides.

For example, in the picture, a week has 44 days and Alice paints 55 consecutive days. [1] and [2] are different shapes, but [1] and [3] are equal shapes.

B. Magical Calendar_第1张图片

Alice wants to know how many possible shapes exists if she set how many days a week has and choose consecutive nn days and paints them in calendar started in one of the days of the week. As was said before, she considers only shapes, there all cells are connected by side.

Input

The input consists of multiple test cases. The first line contains a single integer tt (1≤t≤10001≤t≤1000) — the number of test cases. Next tt lines contain descriptions of test cases.

For each test case, the only line contains two integers nn, rr (1≤n≤109,1≤r≤1091≤n≤109,1≤r≤109).

Output

For each test case, print a single integer  — the answer to the problem.

Please note, that the answer for some test cases won't fit into 3232-bit integer type, so you should use at least 6464-bit integer type in your programming language.

Example

input

Copy

5
3 4
3 2
3 1
13 7
1010000 9999999

output

Copy

4
3
1
28
510049495001

Note

In the first test case, Alice can set 1,2,31,2,3 or 44 days as the number of days in a week.

There are 66 possible paintings shown in the picture, but there are only 44 different shapes. So, the answer is 44. Notice that the last example in the picture is an invalid painting because all cells are not connected by sides.

B. Magical Calendar_第2张图片

In the last test case, be careful with the overflow issue, described in the output format.

解题说明:此题是一道几何题,找规律能发现方案数构成一个等差数列,当r大于临界点后,ans=n*(n-1)/2+1;
而在临界点之前,ans=(1+r)*r/2;


#include

int main()
{
	long long t, n, r;
	scanf("%lld", &t);
	while (t--)
	{
		scanf("%lld %lld", &n, &r);
		if (n <= r)
		{
			printf("%lld\n", (n*(n - 1)) / 2 + 1);
		}
		else
		{
			printf("%lld\n", (r*(r + 1)) / 2);
		}
	}
	return 0;
}

 

你可能感兴趣的:(AC路漫漫)