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: Wrong Answer)

using System;

class Program {
    static void Main( string[] args )
    {
        while ( true ) {
            string[] line = Console.ReadLine().Split();

            int n = int.Parse( line[ 0 ] );
            int x = int.Parse( line[ 1 ] );

            if ( 0 == n + x ) {
                break;
            }

            int sum = 6;
            int count = 0;
            int pivot = n - 2;
            int triSection = x / 3 - 1;

            int[] digit = new int[] { 1, 2, 3 };

            while ( true ) {
                if ( sum > x && triSection == digit[ 0 ] ) {
                    break;

                } else if ( sum == x ) {
                    count += 1;

                    if ( pivot == digit[ 0 ] ) {
                        break;
                    }
                }

                for ( int i = 2; i > -1; --i ) {
                    if ( digit[ i ] < pivot + i ) {
                        digit[ i ] += 1;

                        for ( int j = i + 1; j < 3; ++j ) {
                            digit[ j ] = digit[ j - 1 ] + 1;
                        }

                        break;
                    }
                }

                sum = digit[ 0 ] + digit[ 1 ] + digit[ 2 ];
            }

            Console.WriteLine( count );
        }
    }
}