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)

#include <stdio.h>
#include <string.h>
#include <stdbool.h>

int pattern[100] = {0,};
bool valid(int a, int b, int c, int x)                                                               
{                                                                                                    
        if (a == b || a == c || b == c) {                                                            
                return false;                                                                        
        }                                                                                            
        int sum = a+b+c;                                                                             
        if (sum != x) {                                                                              
                return false;                                                                        
        }                                                                                            
        int i, j=0;                                                                                  
        static int cnt;                                                                              
        for (i=0; i<cnt; i++) {                                                                      
                if (pattern[i] == a || pattern[i] == b || pattern[i] == c) {                         
                        if (++j>1) {                                                                 
                                return false;                                                        
                        }                                                                            
                }                                                                                    
        }                                                                                            
        pattern[cnt] = a; pattern[cnt++] = b; pattern[cnt++] = c;                                    
//      printf("%d %d %d\n", a,b,c);                                                                 
        return true;                                                                                 
}

int f(int n, int x)                                                                                  
{                                                                                                    
        int a,b,c;                                                                                   
        int ans=0;                                                                                   
        memset(pattern, 0, sizeof(pattern));                                                         
        /* 1-n ?????§??? 3 ????????°??? a,b,c */                                                            
        for (a=1; a<=n; a++) {                                                                       
                for (b=1; b<=n; b++) {                                                               
                        for (c=1; c<=n; c++) {                                                       
                                /* a,b,c ???????¨???? x ?????????????????????????????° ans ??? ? */                 
                                if (valid(a, b, c, x)) {                                             
                                        ans++;                                                       
                                }                                                                    
                        }                                                                            
                }                                                                                    
        }                                                                                            
        return ans;                                                                                  
}

int main(void)                                                                                       
{                                                                                                    
        char line[256];                                                                              
        int n, x;                                                                                    
                                                                                                     
        while (1) {                                                                                  
                if (!fgets(line, sizeof(line), stdin)) {                                             
                        fprintf(stderr, "error input val\n");                                        
                        return 0;                                                                    
                }                                                                                    
                if (sscanf(line, "%d %d", &n, &x) != 2) {                                            
                        fprintf(stderr, "error input format\n");                                     
                        return 0;                                                                    
                }                                                                                    
                                                                                                     
                if  (!(n != 0 && x != 0)) {                                                          
                        return 0;                                                                    
                }                                                                                    
                printf("%d\n", f(n, x));                                                             
        }                                                                                            
        return 0;                                                                                    
}