import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner std = new Scanner(System.in);
		while(true){
			int n = Integer.parseInt(std.next());
			int x = Integer.parseInt(std.next());
			int combo = 0;
			if(n==0 && x==0){
				break;
			}else{
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			}
			System.out.println(combo);
		}
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args){
		Scanner std = new Scanner(System.in);
		while(true){
			int n = Integer.parseInt(std.next());
			int x = Integer.parseInt(std.next());
			int combo = 0;
			if(n==0 && x==0){
				break;
			}else{
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			}
			System.out.println(combo);
		}
	}
} Main public static void main(String[] args){
		Scanner std = new Scanner(System.in);
		while(true){
			int n = Integer.parseInt(std.next());
			int x = Integer.parseInt(std.next());
			int combo = 0;
			if(n==0 && x==0){
				break;
			}else{
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			}
			System.out.println(combo);
		}
	} main {
		Scanner std = new Scanner(System.in);
		while(true){
			int n = Integer.parseInt(std.next());
			int x = Integer.parseInt(std.next());
			int combo = 0;
			if(n==0 && x==0){
				break;
			}else{
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			}
			System.out.println(combo);
		}
	} Scanner std = new Scanner(System.in); std new Scanner(System.in) while(true){
			int n = Integer.parseInt(std.next());
			int x = Integer.parseInt(std.next());
			int combo = 0;
			if(n==0 && x==0){
				break;
			}else{
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			}
			System.out.println(combo);
		} true {
			int n = Integer.parseInt(std.next());
			int x = Integer.parseInt(std.next());
			int combo = 0;
			if(n==0 && x==0){
				break;
			}else{
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			}
			System.out.println(combo);
		} int n = Integer.parseInt(std.next()); n Integer.parseInt(std.next()) Integer.parseInt Integer std.next() std.next std int x = Integer.parseInt(std.next()); x Integer.parseInt(std.next()) Integer.parseInt Integer std.next() std.next std int combo = 0; combo 0 if(n==0 && x==0){
				break;
			}else{
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			} n==0 && x==0 n==0 n 0 x==0 x 0 {
				break;
			} break; {
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			} for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				} int i=1; int i=1; i 1 i<=n i n i++ i++ i {
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				} {
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				} for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					} int j=i+1; int j=i+1; j i+1 i 1 j<=n j n j++ j++ j {
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					} {
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					} if(j<x-i-j && x-i-j<=n){
							combo++;
						} j<x-i-j && x-i-j<=n j<x-i-j j x-i-j x-i-j x i j x-i-j<=n x-i-j x-i-j x i j n {
							combo++;
						} combo++ combo System.out.println(combo) System.out.println System.out System System.out combo String[] args args public class Main {
	public static void main(String[] args){
		Scanner std = new Scanner(System.in);
		while(true){
			int n = Integer.parseInt(std.next());
			int x = Integer.parseInt(std.next());
			int combo = 0;
			if(n==0 && x==0){
				break;
			}else{
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			}
			System.out.println(combo);
		}
	}
} public class Main {
	public static void main(String[] args){
		Scanner std = new Scanner(System.in);
		while(true){
			int n = Integer.parseInt(std.next());
			int x = Integer.parseInt(std.next());
			int combo = 0;
			if(n==0 && x==0){
				break;
			}else{
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			}
			System.out.println(combo);
		}
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner std = new Scanner(System.in);
		while(true){
			int n = Integer.parseInt(std.next());
			int x = Integer.parseInt(std.next());
			int combo = 0;
			if(n==0 && x==0){
				break;
			}else{
				for(int i=1; i<=n; i++){
					for(int j=i+1; j<=n; j++){
						if(j<x-i-j && x-i-j<=n){
							combo++;
						}
					}
				}
			}
			System.out.println(combo);
		}
	}
}