import java.util.Scanner;

/**
 * How many ways?
 */
public class Main {
    private static Scanner scan;

    public static void main(String[] args) {
        scan = new Scanner(System.in);

        // n までの数,３つの数の合計x
        int n,x = 0;
        int i,j,k = 1;
        while (true) {
            int cnt = 0;
            n = scan.nextInt();
            x = scan.nextInt();
            if (n == 0 && x == 0) {
                return;
            }
            for (i = 1; i <= n; i++) {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            }
            System.out.println(cnt);
        }
    }
} import java.util.Scanner; Scanner java.util public class Main {
    private static Scanner scan;

    public static void main(String[] args) {
        scan = new Scanner(System.in);

        // n までの数,３つの数の合計x
        int n,x = 0;
        int i,j,k = 1;
        while (true) {
            int cnt = 0;
            n = scan.nextInt();
            x = scan.nextInt();
            if (n == 0 && x == 0) {
                return;
            }
            for (i = 1; i <= n; i++) {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            }
            System.out.println(cnt);
        }
    }
} Main private static Scanner scan; scan public static void main(String[] args) {
        scan = new Scanner(System.in);

        // n までの数,３つの数の合計x
        int n,x = 0;
        int i,j,k = 1;
        while (true) {
            int cnt = 0;
            n = scan.nextInt();
            x = scan.nextInt();
            if (n == 0 && x == 0) {
                return;
            }
            for (i = 1; i <= n; i++) {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            }
            System.out.println(cnt);
        }
    } main {
        scan = new Scanner(System.in);

        // n までの数,３つの数の合計x
        int n,x = 0;
        int i,j,k = 1;
        while (true) {
            int cnt = 0;
            n = scan.nextInt();
            x = scan.nextInt();
            if (n == 0 && x == 0) {
                return;
            }
            for (i = 1; i <= n; i++) {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            }
            System.out.println(cnt);
        }
    } scan = new Scanner(System.in) scan new Scanner(System.in) int n n x = 0; x 0 int i i j j k = 1; k 1 while (true) {
            int cnt = 0;
            n = scan.nextInt();
            x = scan.nextInt();
            if (n == 0 && x == 0) {
                return;
            }
            for (i = 1; i <= n; i++) {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            }
            System.out.println(cnt);
        } true {
            int cnt = 0;
            n = scan.nextInt();
            x = scan.nextInt();
            if (n == 0 && x == 0) {
                return;
            }
            for (i = 1; i <= n; i++) {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            }
            System.out.println(cnt);
        } int cnt = 0; cnt 0 n = scan.nextInt() n scan.nextInt() scan.nextInt scan x = scan.nextInt() x scan.nextInt() scan.nextInt scan if (n == 0 && x == 0) {
                return;
            } n == 0 && x == 0 n == 0 n 0 x == 0 x 0 {
                return;
            } return; for (i = 1; i <= n; i++) {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            } i = 1; i = 1 i 1 i <= n i n i++ i++ i {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            } {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            } for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                } j = i; j = i j i j <= n j n j++ j++ j {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                } {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                } for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    } k = j; k = j k j k <= n k n k++ k++ k {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    } {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    } if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        } x == (i + j + k) && !(i == j) && !(j == k) && !(i == k) !(j == k) x == (i + j + k) && !(i == j) && !(j == k) && !(i == k) x == (i + j + k) x (i + j + k) i + j + k i j k !(i == j) (i == j) i j !(j == k) (j == k) j k !(i == k) (i == k) i k {
                            ++ cnt;
                            break;
                        } ++ cnt cnt break; System.out.println(cnt) System.out.println System.out System System.out cnt String[] args args public class Main {
    private static Scanner scan;

    public static void main(String[] args) {
        scan = new Scanner(System.in);

        // n までの数,３つの数の合計x
        int n,x = 0;
        int i,j,k = 1;
        while (true) {
            int cnt = 0;
            n = scan.nextInt();
            x = scan.nextInt();
            if (n == 0 && x == 0) {
                return;
            }
            for (i = 1; i <= n; i++) {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            }
            System.out.println(cnt);
        }
    }
} public class Main {
    private static Scanner scan;

    public static void main(String[] args) {
        scan = new Scanner(System.in);

        // n までの数,３つの数の合計x
        int n,x = 0;
        int i,j,k = 1;
        while (true) {
            int cnt = 0;
            n = scan.nextInt();
            x = scan.nextInt();
            if (n == 0 && x == 0) {
                return;
            }
            for (i = 1; i <= n; i++) {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            }
            System.out.println(cnt);
        }
    }
} Main
import java.util.Scanner;

/**
 * How many ways?
 */
public class Main {
    private static Scanner scan;

    public static void main(String[] args) {
        scan = new Scanner(System.in);

        // n までの数,３つの数の合計x
        int n,x = 0;
        int i,j,k = 1;
        while (true) {
            int cnt = 0;
            n = scan.nextInt();
            x = scan.nextInt();
            if (n == 0 && x == 0) {
                return;
            }
            for (i = 1; i <= n; i++) {
                for (j = i; j <= n; j++) {
                    for (k = j; k <= n; k++) {
                        // 重複していないかつ合計が一致
                        if (x == (i + j + k) && !(i == j) && !(j == k) && !(i == k)) {
                            ++ cnt;
                            break;
                        }
                    }
                }
            }
            System.out.println(cnt);
        }
    }
}