output_description: For each dataset, print the number of combinations in a line.
input_description: 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.
attempt: def mapt(fn, *args):
      return tuple(map(fn, *args))
  
  
  # def sum_num_is_x(n, x):
  #     seen = set()
  #     for a in range(1, n+1):
  #         for b in range(1, n+1):
  #             for c in range(1, n+1):
  #                 if a != b and a != c and b != c:
  #                     if a + b + c == x:
  #                         k = tuple(sorted([a,b,c]))
  #                         seen.add(k)
  #     return len(seen)
  
  from itertools import combinations
  
  
  def sum_num_is_x(n, x):
      return len([row for row in combinations(range(1, n + 1), 3) if sum(row) == x])
  
  
  def Input():
      while True:
          n, x = mapt(int, input().split(" "))
          if n == x == 0:
              break
          print(sum_num_is_x(n, x))
  
  
  Input()
  
problem_description: 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
samples: [{"input": "9\n    0 0", "output": "## Note\n\n      \u89e3\u8aac"}]