import java.io.*;
import java.util.*;

class Main{
  public static void main(String[] args)throws IOException{
    Scanner scan=new Scanner(System.in);

    while(true){
      int n=Integer.parseInt(scan.next());
      int x=Integer.parseInt(scan.next());
      int count=0;
      if(n==0 && x==0)break;
      //1~nまでループするiをつかってx-iを計算して,残りをi+1~nの範囲でx-iになる数2こを探す
      for(int i=1;i<=n;i++){
        int dis=x-i;
        for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        }
      }
      System.out.println(count);
    }
  }
} import java.io.*; io.* java import java.util.*; util.* java class Main{
  public static void main(String[] args)throws IOException{
    Scanner scan=new Scanner(System.in);

    while(true){
      int n=Integer.parseInt(scan.next());
      int x=Integer.parseInt(scan.next());
      int count=0;
      if(n==0 && x==0)break;
      //1~nまでループするiをつかってx-iを計算して,残りをi+1~nの範囲でx-iになる数2こを探す
      for(int i=1;i<=n;i++){
        int dis=x-i;
        for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        }
      }
      System.out.println(count);
    }
  }
} Main public static void main(String[] args)throws IOException{
    Scanner scan=new Scanner(System.in);

    while(true){
      int n=Integer.parseInt(scan.next());
      int x=Integer.parseInt(scan.next());
      int count=0;
      if(n==0 && x==0)break;
      //1~nまでループするiをつかってx-iを計算して,残りをi+1~nの範囲でx-iになる数2こを探す
      for(int i=1;i<=n;i++){
        int dis=x-i;
        for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        }
      }
      System.out.println(count);
    }
  } main {
    Scanner scan=new Scanner(System.in);

    while(true){
      int n=Integer.parseInt(scan.next());
      int x=Integer.parseInt(scan.next());
      int count=0;
      if(n==0 && x==0)break;
      //1~nまでループするiをつかってx-iを計算して,残りをi+1~nの範囲でx-iになる数2こを探す
      for(int i=1;i<=n;i++){
        int dis=x-i;
        for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        }
      }
      System.out.println(count);
    }
  } Scanner scan=new Scanner(System.in); scan new Scanner(System.in) while(true){
      int n=Integer.parseInt(scan.next());
      int x=Integer.parseInt(scan.next());
      int count=0;
      if(n==0 && x==0)break;
      //1~nまでループするiをつかってx-iを計算して,残りをi+1~nの範囲でx-iになる数2こを探す
      for(int i=1;i<=n;i++){
        int dis=x-i;
        for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        }
      }
      System.out.println(count);
    } true {
      int n=Integer.parseInt(scan.next());
      int x=Integer.parseInt(scan.next());
      int count=0;
      if(n==0 && x==0)break;
      //1~nまでループするiをつかってx-iを計算して,残りをi+1~nの範囲でx-iになる数2こを探す
      for(int i=1;i<=n;i++){
        int dis=x-i;
        for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        }
      }
      System.out.println(count);
    } int n=Integer.parseInt(scan.next()); n Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan int x=Integer.parseInt(scan.next()); x Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan int count=0; count 0 if(n==0 && x==0)break; n==0 && x==0 n==0 n 0 x==0 x 0 break; for(int i=1;i<=n;i++){
        int dis=x-i;
        for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        }
      } int i=1; int i=1; i 1 i<=n i n i++ i++ i {
        int dis=x-i;
        for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        }
      } {
        int dis=x-i;
        for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        }
      } int dis=x-i; dis x-i x i for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        } int j=i+1; int j=i+1; j i+1 i 1 j<=n j n j++ j++ j {
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        } {
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        } for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          } int k=j+1; int k=j+1; k j+1 j 1 k<=n k n k++ k++ k {
            if((dis-j-k)==0){
              count++;
            }
          } {
            if((dis-j-k)==0){
              count++;
            }
          } if((dis-j-k)==0){
              count++;
            } (dis-j-k)==0 (dis-j-k) dis-j-k dis j k 0 {
              count++;
            } count++ count System.out.println(count) System.out.println System.out System System.out count String[] args args
import java.io.*;
import java.util.*;

class Main{
  public static void main(String[] args)throws IOException{
    Scanner scan=new Scanner(System.in);

    while(true){
      int n=Integer.parseInt(scan.next());
      int x=Integer.parseInt(scan.next());
      int count=0;
      if(n==0 && x==0)break;
      //1~nまでループするiをつかってx-iを計算して,残りをi+1~nの範囲でx-iになる数2こを探す
      for(int i=1;i<=n;i++){
        int dis=x-i;
        for(int j=i+1;j<=n;j++){
          for(int k=j+1;k<=n;k++){
            if((dis-j-k)==0){
              count++;
            }
          }
        }
      }
      System.out.println(count);
    }
  }
}
