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;

class program
{
    static void Main()
    {
        List<int> Date =  Dateinput();

        int[,] ArrayDate = GetArray(Date);

        for (int i =0;i < ArrayDate.GetLength(0);i++)
        {
            
                int Answer;
            Answer = Algorithm(ArrayDate[i, 0], ArrayDate[i, 1]);
            Console.WriteLine("{0}", Answer);
 
        }


    }


    static List<int> Dateinput()
    {
        List<int> date = new List<int> { };

        while (true)
        {
            string[] str = Console.ReadLine().Split(' ');

            int x = int.Parse(str[0]);
            int y = int.Parse(str[1]);

            if (x == 0 && y == 0)
                break;

            date.Add(x);
            date.Add(y);
        }

        return date;
    }


    static int[,] GetArray(List<int> list)
    {
        
        int Length = list.Count;

        int Row = Length / 2;

        int count = 0;

        int[,] DateArray = new int[Row,2];

        for (int i=0;i < Row;i++)
        {
            for (int j=0;j<2;j++)
            {
                DateArray[i, j] = list[count];
                count += 1;
            }
        }

        return DateArray;
        
    }

    static int Algorithm(int x,int y)
    {
        int count = 0;
       for (int i = 1;i < x+1;i++)
        {
            for (int j=1;j< x+1;j++)
            {
                for (int k=1;k< x+1;k++)
                {
                    int SUM = i + j + k;
                    if ((i != j)&&(i != k))
                    {
                        if (j != k)
                        {
                            if (SUM == y)
                            {
                                count += 1;
                            }
                        }
                    }
                    
                }
            }
        }

        return count/6;
    }
}