import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
 
public class Main {
    public static void main(String[] args) throws Exception {
        //n は 3 以上 100　以下とします。
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while(true) {
            String line = br.readLine();
            String[] line2 = line.split(" ");
            int i1=Integer.parseInt(line2[0]);
            int i2=Integer.parseInt(line2[1]);
            if(i1==0 && i2==0)break;
            System.out.println(combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) );
        }
    }
    static int combination(int a,int b) {
        int count=0;
        for(int i=a;i>=1;i--)
            for(int j=i-1;j>=1;j--)
                for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++;
        return count;
    }
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.*; util.* java public class Main {
    public static void main(String[] args) throws Exception {
        //n は 3 以上 100　以下とします。
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while(true) {
            String line = br.readLine();
            String[] line2 = line.split(" ");
            int i1=Integer.parseInt(line2[0]);
            int i2=Integer.parseInt(line2[1]);
            if(i1==0 && i2==0)break;
            System.out.println(combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) );
        }
    }
    static int combination(int a,int b) {
        int count=0;
        for(int i=a;i>=1;i--)
            for(int j=i-1;j>=1;j--)
                for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++;
        return count;
    }
} Main public static void main(String[] args) throws Exception {
        //n は 3 以上 100　以下とします。
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while(true) {
            String line = br.readLine();
            String[] line2 = line.split(" ");
            int i1=Integer.parseInt(line2[0]);
            int i2=Integer.parseInt(line2[1]);
            if(i1==0 && i2==0)break;
            System.out.println(combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) );
        }
    } main {
        //n は 3 以上 100　以下とします。
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while(true) {
            String line = br.readLine();
            String[] line2 = line.split(" ");
            int i1=Integer.parseInt(line2[0]);
            int i2=Integer.parseInt(line2[1]);
            if(i1==0 && i2==0)break;
            System.out.println(combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) );
        }
    } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) while(true) {
            String line = br.readLine();
            String[] line2 = line.split(" ");
            int i1=Integer.parseInt(line2[0]);
            int i2=Integer.parseInt(line2[1]);
            if(i1==0 && i2==0)break;
            System.out.println(combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) );
        } true {
            String line = br.readLine();
            String[] line2 = line.split(" ");
            int i1=Integer.parseInt(line2[0]);
            int i2=Integer.parseInt(line2[1]);
            if(i1==0 && i2==0)break;
            System.out.println(combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) );
        } String line = br.readLine(); line br.readLine() br.readLine br String[] line2 = line.split(" "); line2 line.split(" ") line.split line " " int i1=Integer.parseInt(line2[0]); i1 Integer.parseInt(line2[0]) Integer.parseInt Integer line2[0] line2 0 int i2=Integer.parseInt(line2[1]); i2 Integer.parseInt(line2[1]) Integer.parseInt Integer line2[1] line2 1 if(i1==0 && i2==0)break; i1==0 && i2==0 i1==0 i1 0 i2==0 i2 0 break; System.out.println(combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) ) System.out.println System.out System System.out combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) combination Integer.parseInt(line2[0]) Integer.parseInt Integer line2[0] line2 0 Integer.parseInt(line2[1]) Integer.parseInt Integer line2[1] line2 1 String[] args args static int combination(int a,int b) {
        int count=0;
        for(int i=a;i>=1;i--)
            for(int j=i-1;j>=1;j--)
                for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++;
        return count;
    } combination {
        int count=0;
        for(int i=a;i>=1;i--)
            for(int j=i-1;j>=1;j--)
                for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++;
        return count;
    } int count=0; count 0 for(int i=a;i>=1;i--)
            for(int j=i-1;j>=1;j--)
                for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++; int i=a; int i=a; i a i>=1 i 1 i-- i-- i for(int j=i-1;j>=1;j--)
                for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++; for(int j=i-1;j>=1;j--)
                for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++; int j=i-1; int j=i-1; j i-1 i 1 j>=1 j 1 j-- j-- j for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++; for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++; int k=j-1; int k=j-1; k j-1 j 1 k>=1 k 1 k-- k-- k if(i+j+k==b)count++; if(i+j+k==b)count++; i+j+k==b i+j+k i+j+k i j k b count++ count return count; count int a a int b b public class Main {
    public static void main(String[] args) throws Exception {
        //n は 3 以上 100　以下とします。
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while(true) {
            String line = br.readLine();
            String[] line2 = line.split(" ");
            int i1=Integer.parseInt(line2[0]);
            int i2=Integer.parseInt(line2[1]);
            if(i1==0 && i2==0)break;
            System.out.println(combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) );
        }
    }
    static int combination(int a,int b) {
        int count=0;
        for(int i=a;i>=1;i--)
            for(int j=i-1;j>=1;j--)
                for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++;
        return count;
    }
} public class Main {
    public static void main(String[] args) throws Exception {
        //n は 3 以上 100　以下とします。
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while(true) {
            String line = br.readLine();
            String[] line2 = line.split(" ");
            int i1=Integer.parseInt(line2[0]);
            int i2=Integer.parseInt(line2[1]);
            if(i1==0 && i2==0)break;
            System.out.println(combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) );
        }
    }
    static int combination(int a,int b) {
        int count=0;
        for(int i=a;i>=1;i--)
            for(int j=i-1;j>=1;j--)
                for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++;
        return count;
    }
} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
 
public class Main {
    public static void main(String[] args) throws Exception {
        //n は 3 以上 100　以下とします。
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while(true) {
            String line = br.readLine();
            String[] line2 = line.split(" ");
            int i1=Integer.parseInt(line2[0]);
            int i2=Integer.parseInt(line2[1]);
            if(i1==0 && i2==0)break;
            System.out.println(combination(Integer.parseInt(line2[0]),Integer.parseInt(line2[1]) ) );
        }
    }
    static int combination(int a,int b) {
        int count=0;
        for(int i=a;i>=1;i--)
            for(int j=i-1;j>=1;j--)
                for(int k=j-1;k>=1;k--) 
                    if(i+j+k==b)count++;
        return count;
    }
}