Problem:
How many ways?

Write a program which identifies the number of combinations of three integers which satisfy the following conditions:

You should select three distinct integers from 1 to n.

A total sum of the three integers is x.

For example, there are two combinations for n = 5 and x = 9.

1 + 3 + 5 = 9

2 + 3 + 4 = 9

Input

The input consists of multiple datasets. For each dataset, two integers n and x are given in a line.

The input ends with two zeros for n and x respectively. Your program should not process for these terminal symbols.

Constraints

3 ≤ n ≤ 100

0 ≤ x ≤ 300

Output

For each dataset, print the number of combinations in a line.

Sample Input

5 9
0 0

Sample Output

2

Note

      解説

Solution in C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;

public class HowManyWays
{
    //???????????????????????????????????§?????°??????????????????????????????????????°????????????????????????????????????????????????*???????????????????????????
    static void Main(string[] args)
    {
        /*---??£?¨???¨---*/
        List<string> numPairList = new List<string>();
        string[] numPairBuffer;
        int range;
        int sum;
        int totalPair;
        int count;
        int numPairIndex;
        /*---??£?¨???¨---*/

        /*??\????????????????????? ??±??????????????????*/
        for(count = 0; ; count++)
        {
            numPairList.Add(Console.ReadLine());
            if (numPairList[count] == "0 0")
                break;
        }

        /*???????????????????¨??????????????????°??????*/
        for (numPairIndex = 0; numPairIndex < count; numPairIndex++)
        {
            //?????????
            numPairBuffer = numPairList[numPairIndex].Split(' ');
            range = int.Parse(numPairBuffer[0]);
            sum = int.Parse(numPairBuffer[1]);
            totalPair = 0;

            //???????????????????¨??????????
            for (int smallInteger = 1; smallInteger <= range - 2; smallInteger++)
            {
                for (int middleInteger = (smallInteger + 1);  middleInteger <= range - 1; middleInteger++) 
                {
                    for (int bigInteger = (middleInteger + 1); bigInteger <= range; bigInteger++) 
                    {
                        if (smallInteger + middleInteger + bigInteger == sum)
                            totalPair++;
                    }
                }
            }
            /*??????*/
            Console.WriteLine(totalPair);
        }
    }
}