import java.util.Scanner;

class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N;int X;
		do{
		N=  Integer.parseInt(sc.next());
		X= Integer.parseInt(sc.next());
		if(N!=0||X!=0) System.out.println(calc(N,X));
		}while(N!=0||X!=0);
		
		sc.close();
	}
	static int calc(int n,int x){
		int cnt=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<i;j++){
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			}
		}
		return cnt;
	}
} import java.util.Scanner; Scanner java.util class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N;int X;
		do{
		N=  Integer.parseInt(sc.next());
		X= Integer.parseInt(sc.next());
		if(N!=0||X!=0) System.out.println(calc(N,X));
		}while(N!=0||X!=0);
		
		sc.close();
	}
	static int calc(int n,int x){
		int cnt=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<i;j++){
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			}
		}
		return cnt;
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N;int X;
		do{
		N=  Integer.parseInt(sc.next());
		X= Integer.parseInt(sc.next());
		if(N!=0||X!=0) System.out.println(calc(N,X));
		}while(N!=0||X!=0);
		
		sc.close();
	} main {
		Scanner sc = new Scanner(System.in);
		int N;int X;
		do{
		N=  Integer.parseInt(sc.next());
		X= Integer.parseInt(sc.next());
		if(N!=0||X!=0) System.out.println(calc(N,X));
		}while(N!=0||X!=0);
		
		sc.close();
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N; N int X; X do{
		N=  Integer.parseInt(sc.next());
		X= Integer.parseInt(sc.next());
		if(N!=0||X!=0) System.out.println(calc(N,X));
		}while(N!=0||X!=0); N!=0||X!=0 N!=0 N 0 X!=0 X 0 {
		N=  Integer.parseInt(sc.next());
		X= Integer.parseInt(sc.next());
		if(N!=0||X!=0) System.out.println(calc(N,X));
		} N=  Integer.parseInt(sc.next()) N Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc X= Integer.parseInt(sc.next()) X Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc if(N!=0||X!=0) System.out.println(calc(N,X)); N!=0||X!=0 N!=0 N 0 X!=0 X 0 System.out.println(calc(N,X)) System.out.println System.out System System.out calc(N,X) calc N X sc.close() sc.close sc String[] args args static int calc(int n,int x){
		int cnt=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<i;j++){
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			}
		}
		return cnt;
	} calc {
		int cnt=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<i;j++){
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			}
		}
		return cnt;
	} int cnt=0; cnt 0 for(int i=1;i<=n;i++){
			for(int j=1;j<i;j++){
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			}
		} int i=1; int i=1; i 1 i<=n i n i++ i++ i {
			for(int j=1;j<i;j++){
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			}
		} {
			for(int j=1;j<i;j++){
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			}
		} for(int j=1;j<i;j++){
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			} int j=1; int j=1; j 1 j<i j i j++ j++ j {
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			} {
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			} for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				} int k=1; int k=1; k 1 k<j k j k++ k++ k {
					if(i+j+k==x) cnt++;
				} {
					if(i+j+k==x) cnt++;
				} if(i+j+k==x) cnt++; i+j+k==x i+j+k i+j+k i j k x cnt++ cnt return cnt; cnt int n n int x x
import java.util.Scanner;

class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N;int X;
		do{
		N=  Integer.parseInt(sc.next());
		X= Integer.parseInt(sc.next());
		if(N!=0||X!=0) System.out.println(calc(N,X));
		}while(N!=0||X!=0);
		
		sc.close();
	}
	static int calc(int n,int x){
		int cnt=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<i;j++){
				for(int k=1;k<j;k++){
					if(i+j+k==x) cnt++;
				}
			}
		}
		return cnt;
	}
}