import java.io.*;
import java.util.Arrays;
class Main{
    public static void main(String[] args) throws IOException {
        int i,j,k,cnt;
        int[] n = new int[990];
        String[] str = new String[990];
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        for(;;){
            str = in.readLine().split(" ");
            for(i=0;i<2;i++){
                n[i]=Integer.parseInt(str[i]);   
            } 
            cnt=0;
            if(n[0]==0 && n[1]==0) break; 
            for(i=1;i<=n[0];i++){
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            }
            System.out.println(cnt);
        }
        System.out.flush();
    }
} import java.io.*; io.* java import java.util.Arrays; Arrays java.util class Main{
    public static void main(String[] args) throws IOException {
        int i,j,k,cnt;
        int[] n = new int[990];
        String[] str = new String[990];
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        for(;;){
            str = in.readLine().split(" ");
            for(i=0;i<2;i++){
                n[i]=Integer.parseInt(str[i]);   
            } 
            cnt=0;
            if(n[0]==0 && n[1]==0) break; 
            for(i=1;i<=n[0];i++){
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            }
            System.out.println(cnt);
        }
        System.out.flush();
    }
} Main public static void main(String[] args) throws IOException {
        int i,j,k,cnt;
        int[] n = new int[990];
        String[] str = new String[990];
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        for(;;){
            str = in.readLine().split(" ");
            for(i=0;i<2;i++){
                n[i]=Integer.parseInt(str[i]);   
            } 
            cnt=0;
            if(n[0]==0 && n[1]==0) break; 
            for(i=1;i<=n[0];i++){
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            }
            System.out.println(cnt);
        }
        System.out.flush();
    } main {
        int i,j,k,cnt;
        int[] n = new int[990];
        String[] str = new String[990];
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        for(;;){
            str = in.readLine().split(" ");
            for(i=0;i<2;i++){
                n[i]=Integer.parseInt(str[i]);   
            } 
            cnt=0;
            if(n[0]==0 && n[1]==0) break; 
            for(i=1;i<=n[0];i++){
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            }
            System.out.println(cnt);
        }
        System.out.flush();
    } int i i j j k k cnt; cnt int[] n = new int[990]; n new int[990] 990 String[] str = new String[990]; str new String[990] 990 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); in new BufferedReader(new InputStreamReader(System.in)) for(;;){
            str = in.readLine().split(" ");
            for(i=0;i<2;i++){
                n[i]=Integer.parseInt(str[i]);   
            } 
            cnt=0;
            if(n[0]==0 && n[1]==0) break; 
            for(i=1;i<=n[0];i++){
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            }
            System.out.println(cnt);
        } ; {
            str = in.readLine().split(" ");
            for(i=0;i<2;i++){
                n[i]=Integer.parseInt(str[i]);   
            } 
            cnt=0;
            if(n[0]==0 && n[1]==0) break; 
            for(i=1;i<=n[0];i++){
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            }
            System.out.println(cnt);
        } {
            str = in.readLine().split(" ");
            for(i=0;i<2;i++){
                n[i]=Integer.parseInt(str[i]);   
            } 
            cnt=0;
            if(n[0]==0 && n[1]==0) break; 
            for(i=1;i<=n[0];i++){
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            }
            System.out.println(cnt);
        } str = in.readLine().split(" ") str in.readLine().split(" ") in.readLine().split in.readLine() in.readLine in " " for(i=0;i<2;i++){
                n[i]=Integer.parseInt(str[i]);   
            } i=0; i=0 i 0 i<2 i 2 i++ i++ i {
                n[i]=Integer.parseInt(str[i]);   
            } {
                n[i]=Integer.parseInt(str[i]);   
            } n[i]=Integer.parseInt(str[i]) n[i] n i Integer.parseInt(str[i]) Integer.parseInt Integer str[i] str i cnt=0 cnt 0 if(n[0]==0 && n[1]==0) break; n[0]==0 && n[1]==0 n[0]==0 n[0] n 0 0 n[1]==0 n[1] n 1 0 break; for(i=1;i<=n[0];i++){
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            } i=1; i=1 i 1 i<=n[0] i n[0] n 0 i++ i++ i {
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            } {
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            } for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } j=i+1; j=i+1 j i+1 i 1 j<=n[0] j n[0] n 0 j++ j++ j {
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } {
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    } k=j+1; k=j+1 k j+1 j 1 k<=n[0] k n[0] n 0 k++ k++ k {
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    } {
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    } cnt+=(i+j+k==n[1] ? 1 : 0) cnt (i+j+k==n[1] ? 1 : 0) i+j+k==n[1] i+j+k i+j+k i j k n[1] n 1 1 0 System.out.println(cnt) System.out.println System.out System System.out cnt System.out.flush() System.out.flush System.out System System.out String[] args args
import java.io.*;
import java.util.Arrays;
class Main{
    public static void main(String[] args) throws IOException {
        int i,j,k,cnt;
        int[] n = new int[990];
        String[] str = new String[990];
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        for(;;){
            str = in.readLine().split(" ");
            for(i=0;i<2;i++){
                n[i]=Integer.parseInt(str[i]);   
            } 
            cnt=0;
            if(n[0]==0 && n[1]==0) break; 
            for(i=1;i<=n[0];i++){
                for(j=i+1;j<=n[0];j++){
                    for(k=j+1;k<=n[0];k++){
                        cnt+=(i+j+k==n[1] ? 1 : 0);
                    }
                } 
            }
            System.out.println(cnt);
        }
        System.out.flush();
    }
}