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 JAVA (judge verdict: Wrong Answer)



import java.util.*;

public class Main {
	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);
		int n, x, c, result,min,max;
		// ??????????¨????
		n = 0;
		x = 0;
		c = 1;// min????¬????????????????
		result = 0;// ??????????????°
		min = 1;//????°????
		max = 0;//?????§???

		while (true) {// ??????????????????????????§???????????????
			n = scan.nextInt();
			x = scan.nextInt();

			if ((n == 0) & (x == 0)) {
				break;
			}
			
			max = n;//?????§???????¨????
			//c = min + 1;//?????????????¨????

			// x?????????0?????£??????????????????
			for(;min<=(n-2);min++){//?????´????????????1????????????????????????
				c = min + 1;//?????????????¨????
				while(true){
					if(max == c){//c????????¨max???????????????????????£?????´???c?????????1?¢???????
						c++;
						max = n;//max??????????????????
						if(c == max){break;}
					}else if((min + c + max) == x){//x??¨?????????????????£?????´???
						result++;
						max--;
					}else{//???????¶??????????x?????????????????´???
						max--;//max?????????????????????
					}
				}

			}
		}
		System.out.println(Integer.toString(result));
	}
}