import java.util.Scanner;
class Main{
    int n,x,y=0,z=0;
    boolean a;
    String b;
    public void solve(){
        Scanner sc = new Scanner(System.in);
        sc.useDelimiter("\\s");
        while(a == false){
            n = sc.nextInt();
            x = sc.nextInt();
            if(n == 0 && x == 0){
                a = true;
                break;
            }
            for(int s1 = 1;s1 <= n-2; s1++){
                for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                }
            }
            System.out.println(z);
            z = 0;
        }
    }
    public static void main(String[] args){
        new Main().solve();
    }
} import java.util.Scanner; Scanner java.util class Main{
    int n,x,y=0,z=0;
    boolean a;
    String b;
    public void solve(){
        Scanner sc = new Scanner(System.in);
        sc.useDelimiter("\\s");
        while(a == false){
            n = sc.nextInt();
            x = sc.nextInt();
            if(n == 0 && x == 0){
                a = true;
                break;
            }
            for(int s1 = 1;s1 <= n-2; s1++){
                for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                }
            }
            System.out.println(z);
            z = 0;
        }
    }
    public static void main(String[] args){
        new Main().solve();
    }
} Main int n n x x y=0 y 0 z=0; z 0 boolean a; a String b; b public void solve(){
        Scanner sc = new Scanner(System.in);
        sc.useDelimiter("\\s");
        while(a == false){
            n = sc.nextInt();
            x = sc.nextInt();
            if(n == 0 && x == 0){
                a = true;
                break;
            }
            for(int s1 = 1;s1 <= n-2; s1++){
                for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                }
            }
            System.out.println(z);
            z = 0;
        }
    } solve {
        Scanner sc = new Scanner(System.in);
        sc.useDelimiter("\\s");
        while(a == false){
            n = sc.nextInt();
            x = sc.nextInt();
            if(n == 0 && x == 0){
                a = true;
                break;
            }
            for(int s1 = 1;s1 <= n-2; s1++){
                for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                }
            }
            System.out.println(z);
            z = 0;
        }
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) sc.useDelimiter("\\s") sc.useDelimiter sc "\\s" while(a == false){
            n = sc.nextInt();
            x = sc.nextInt();
            if(n == 0 && x == 0){
                a = true;
                break;
            }
            for(int s1 = 1;s1 <= n-2; s1++){
                for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                }
            }
            System.out.println(z);
            z = 0;
        } a == false a false {
            n = sc.nextInt();
            x = sc.nextInt();
            if(n == 0 && x == 0){
                a = true;
                break;
            }
            for(int s1 = 1;s1 <= n-2; s1++){
                for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                }
            }
            System.out.println(z);
            z = 0;
        } n = sc.nextInt() n sc.nextInt() sc.nextInt sc x = sc.nextInt() x sc.nextInt() sc.nextInt sc if(n == 0 && x == 0){
                a = true;
                break;
            } n == 0 && x == 0 n == 0 n 0 x == 0 x 0 {
                a = true;
                break;
            } a = true a true break; for(int s1 = 1;s1 <= n-2; s1++){
                for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                }
            } int s1 = 1; int s1 = 1; s1 1 s1 <= n-2 s1 n-2 n 2 s1++ s1++ s1 {
                for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                }
            } {
                for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                }
            } for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                } int s2 = s1+1; int s2 = s1+1; s2 s1+1 s1 1 s2 <= n-1 s2 n-1 n 1 s2++ s2++ s2 {
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                } {
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                } for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    } int s3 = s2+1; int s3 = s2+1; s3 s2+1 s2 1 s3 <= n s3 n s3++ s3++ s3 {
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    } {
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    } if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        } s1 == s2 || s1 == s3 || s2 == s3 s1 == s2 || s1 == s3 || s2 == s3 s1 == s2 s1 s2 s1 == s3 s1 s3 s2 == s3 s2 s3 {
                            break;
                        } break; if(s1 + s2 + s3 == x){
                            z++;
                        } s1 + s2 + s3 == x s1 + s2 + s3 s1 + s2 + s3 s1 s2 s3 x {
                            z++;
                        } z++ z System.out.println(z) System.out.println System.out System System.out z z = 0 z 0 public static void main(String[] args){
        new Main().solve();
    } main {
        new Main().solve();
    } new Main().solve() new Main().solve new Main() String[] args args
import java.util.Scanner;
class Main{
    int n,x,y=0,z=0;
    boolean a;
    String b;
    public void solve(){
        Scanner sc = new Scanner(System.in);
        sc.useDelimiter("\\s");
        while(a == false){
            n = sc.nextInt();
            x = sc.nextInt();
            if(n == 0 && x == 0){
                a = true;
                break;
            }
            for(int s1 = 1;s1 <= n-2; s1++){
                for(int s2 = s1+1;s2 <= n-1; s2++){
                    for(int s3 = s2+1;s3 <= n; s3++){
                        if(s1 == s2 || s1 == s3 || s2 == s3){
                            break;
                        }else if(s1 + s2 + s3 == x){
                            z++;
                        }
                    }
                }
            }
            System.out.println(z);
            z = 0;
        }
    }
    public static void main(String[] args){
        new Main().solve();
    }
}