We have two rows. On the top row, there are points, and on the bottom row, there are points. Every point on the top row is connected with every point on the bottom row by a segment. The points are arranged so that the number of internal intersection points among the segments is maximized. To achieve this, no three segments should intersect at a single point. The intersection points located on the rows themselves are not counted; any number of segments may intersect at those points. Given and , compute P(a, b) — the maximum number of intersection points between the two rows. For example, when a = 2 and b = 3, as shown in the figure, P(2, 3) = 3.

Each line contains two natural numbers (0 < a \leq 20000) and (0 < b \leq 20000). The last test contains two zeros and should not be processed. There are at most test cases.
For each test case, output its serial number and the value P(a, b) on a separate line.The result fits in a 64-bit signed integer.
Example 1