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

class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        while(true){
        	String in=br.readLine();
			if(in.equals("0 0")) break;
            String[] a=in.split(" ");
            int n=Integer.parseInt(a[0]);
            int x=Integer.parseInt(a[1]);
            List<String> l=new ArrayList<String>(); 
        	for(int i=1;i<=n;i++){
            	for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	}
        	}
        	System.out.println(l.size());
        }
	}
} import java.io.*; io.* java import java.util.*; util.* java class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        while(true){
        	String in=br.readLine();
			if(in.equals("0 0")) break;
            String[] a=in.split(" ");
            int n=Integer.parseInt(a[0]);
            int x=Integer.parseInt(a[1]);
            List<String> l=new ArrayList<String>(); 
        	for(int i=1;i<=n;i++){
            	for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	}
        	}
        	System.out.println(l.size());
        }
	}
} Main public static void main(String[] args) throws Exception {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        while(true){
        	String in=br.readLine();
			if(in.equals("0 0")) break;
            String[] a=in.split(" ");
            int n=Integer.parseInt(a[0]);
            int x=Integer.parseInt(a[1]);
            List<String> l=new ArrayList<String>(); 
        	for(int i=1;i<=n;i++){
            	for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	}
        	}
        	System.out.println(l.size());
        }
	} main {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        while(true){
        	String in=br.readLine();
			if(in.equals("0 0")) break;
            String[] a=in.split(" ");
            int n=Integer.parseInt(a[0]);
            int x=Integer.parseInt(a[1]);
            List<String> l=new ArrayList<String>(); 
        	for(int i=1;i<=n;i++){
            	for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	}
        	}
        	System.out.println(l.size());
        }
	} BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) while(true){
        	String in=br.readLine();
			if(in.equals("0 0")) break;
            String[] a=in.split(" ");
            int n=Integer.parseInt(a[0]);
            int x=Integer.parseInt(a[1]);
            List<String> l=new ArrayList<String>(); 
        	for(int i=1;i<=n;i++){
            	for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	}
        	}
        	System.out.println(l.size());
        } true {
        	String in=br.readLine();
			if(in.equals("0 0")) break;
            String[] a=in.split(" ");
            int n=Integer.parseInt(a[0]);
            int x=Integer.parseInt(a[1]);
            List<String> l=new ArrayList<String>(); 
        	for(int i=1;i<=n;i++){
            	for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	}
        	}
        	System.out.println(l.size());
        } String in=br.readLine(); in br.readLine() br.readLine br if(in.equals("0 0")) break; in.equals("0 0") in.equals in "0 0" break; String[] a=in.split(" "); a in.split(" ") in.split in " " int n=Integer.parseInt(a[0]); n Integer.parseInt(a[0]) Integer.parseInt Integer a[0] a 0 int x=Integer.parseInt(a[1]); x Integer.parseInt(a[1]) Integer.parseInt Integer a[1] a 1 List<String> l=new ArrayList<String>(); l new ArrayList<String>() for(int i=1;i<=n;i++){
            	for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	}
        	} int i=1; int i=1; i 1 i<=n i n i++ i++ i {
            	for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	}
        	} {
            	for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	}
        	} for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	} int j=1; int j=1; j 1 j<=n j n j++ j++ j {
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	} {
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	} for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	} int k=1; int k=1; k 1 k<=n k n k++ k++ k {
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	} {
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	} if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		} i!=j&&j!=k&&k!=i&&i+j+k==x k!=i i!=j&&j!=k&&k!=i&&i+j+k==x i!=j i j j!=k j k k!=i k i i+j+k==x i+j+k i+j+k i j k x {
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		} int[] q={i, j, k}; q {i, j, k} i j k Arrays.sort(q) Arrays.sort Arrays q String s=Arrays.toString(q); s Arrays.toString(q) Arrays.toString Arrays q if(l.indexOf(s)==-1) l.add(s); l.indexOf(s)==-1 l.indexOf(s) l.indexOf l s -1 1 l.add(s) l.add l s System.out.println(l.size()) System.out.println System.out System System.out l.size() l.size l String[] args args
import java.io.*;
import java.util.*;

class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        while(true){
        	String in=br.readLine();
			if(in.equals("0 0")) break;
            String[] a=in.split(" ");
            int n=Integer.parseInt(a[0]);
            int x=Integer.parseInt(a[1]);
            List<String> l=new ArrayList<String>(); 
        	for(int i=1;i<=n;i++){
            	for(int j=1;j<=n;j++){
                	for(int k=1;k<=n;k++){
                		if(i!=j&&j!=k&&k!=i&&i+j+k==x){
                			int[] q={i, j, k};
                			Arrays.sort(q);
                			String s=Arrays.toString(q);
                			if(l.indexOf(s)==-1) l.add(s);
                		}
                	}
            	}
        	}
        	System.out.println(l.size());
        }
	}
}