
import java.util.Scanner;

public class Main {

	/*
	 * 1 から n までの数の中から、重複無しで３つの数を選びそれらの合計が x となる組み合わせの数を求めるプログラムを作成して下さい。
	 * 
	 * 例えば、1 から 5 までの数から３つを選んでそれらの合計が 9 となる組み合わせは、
	 * 
	 * 1 + 3 + 5 = 9 2 + 3 + 4 = 9 の２通りがあります。
	 * 
	 * Input 複数のデータセットが入力として与えられます。各データセットでは、空白で区切られた n、x が 1 行に与えられます。
	 * 
	 * n、x がともに 0 のとき入力の終わりとします。
	 * 
	 * n は 3 以上 100　以下とします。
	 * 
	 * Output 各データセットについて、組み合わせの数を１行に出力して下さい。
	 */
	public static void main(String[] args) throws Exception {

		Scanner sc = new Scanner(System.in);
		while (true) {

			int count = 0;
			int n = sc.nextInt();
			int x = sc.nextInt();

			if (n == 0 && x == 0) {

				break;

			} else {

				for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			}

		}
		sc.close();

	}
} import java.util.Scanner; Scanner java.util public class Main {

	/*
	 * 1 から n までの数の中から、重複無しで３つの数を選びそれらの合計が x となる組み合わせの数を求めるプログラムを作成して下さい。
	 * 
	 * 例えば、1 から 5 までの数から３つを選んでそれらの合計が 9 となる組み合わせは、
	 * 
	 * 1 + 3 + 5 = 9 2 + 3 + 4 = 9 の２通りがあります。
	 * 
	 * Input 複数のデータセットが入力として与えられます。各データセットでは、空白で区切られた n、x が 1 行に与えられます。
	 * 
	 * n、x がともに 0 のとき入力の終わりとします。
	 * 
	 * n は 3 以上 100　以下とします。
	 * 
	 * Output 各データセットについて、組み合わせの数を１行に出力して下さい。
	 */
	public static void main(String[] args) throws Exception {

		Scanner sc = new Scanner(System.in);
		while (true) {

			int count = 0;
			int n = sc.nextInt();
			int x = sc.nextInt();

			if (n == 0 && x == 0) {

				break;

			} else {

				for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			}

		}
		sc.close();

	}
} Main /*
	 * 1 から n までの数の中から、重複無しで３つの数を選びそれらの合計が x となる組み合わせの数を求めるプログラムを作成して下さい。
	 * 
	 * 例えば、1 から 5 までの数から３つを選んでそれらの合計が 9 となる組み合わせは、
	 * 
	 * 1 + 3 + 5 = 9 2 + 3 + 4 = 9 の２通りがあります。
	 * 
	 * Input 複数のデータセットが入力として与えられます。各データセットでは、空白で区切られた n、x が 1 行に与えられます。
	 * 
	 * n、x がともに 0 のとき入力の終わりとします。
	 * 
	 * n は 3 以上 100　以下とします。
	 * 
	 * Output 各データセットについて、組み合わせの数を１行に出力して下さい。
	 */
	public static void main(String[] args) throws Exception {

		Scanner sc = new Scanner(System.in);
		while (true) {

			int count = 0;
			int n = sc.nextInt();
			int x = sc.nextInt();

			if (n == 0 && x == 0) {

				break;

			} else {

				for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			}

		}
		sc.close();

	} main {

		Scanner sc = new Scanner(System.in);
		while (true) {

			int count = 0;
			int n = sc.nextInt();
			int x = sc.nextInt();

			if (n == 0 && x == 0) {

				break;

			} else {

				for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			}

		}
		sc.close();

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) while (true) {

			int count = 0;
			int n = sc.nextInt();
			int x = sc.nextInt();

			if (n == 0 && x == 0) {

				break;

			} else {

				for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			}

		} true {

			int count = 0;
			int n = sc.nextInt();
			int x = sc.nextInt();

			if (n == 0 && x == 0) {

				break;

			} else {

				for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			}

		} int count = 0; count 0 int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int x = sc.nextInt(); x sc.nextInt() sc.nextInt sc if (n == 0 && x == 0) {

				break;

			} else {

				for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			} 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++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			} for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				} int i = 1; int i = 1; i 1 i <= n i n i++ i++ i {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				} {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				} for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					} int j = i + 1; int j = i + 1; j i + 1 i 1 j <= n j n j++ j++ j {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					} {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					} for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						} int j2 = j + 1; int j2 = j + 1; j2 j + 1 j 1 j2 <= n j2 n j2++ j2++ j2 {
							if (i + j + j2 == x) {
								count++;
							}
						} {
							if (i + j + j2 == x) {
								count++;
							}
						} if (i + j + j2 == x) {
								count++;
							} i + j + j2 == x i + j + j2 i + j + j2 i j j2 x {
								count++;
							} count++ count System.out.println(count) System.out.println System.out System System.out count sc.close() sc.close sc String[] args args public class Main {

	/*
	 * 1 から n までの数の中から、重複無しで３つの数を選びそれらの合計が x となる組み合わせの数を求めるプログラムを作成して下さい。
	 * 
	 * 例えば、1 から 5 までの数から３つを選んでそれらの合計が 9 となる組み合わせは、
	 * 
	 * 1 + 3 + 5 = 9 2 + 3 + 4 = 9 の２通りがあります。
	 * 
	 * Input 複数のデータセットが入力として与えられます。各データセットでは、空白で区切られた n、x が 1 行に与えられます。
	 * 
	 * n、x がともに 0 のとき入力の終わりとします。
	 * 
	 * n は 3 以上 100　以下とします。
	 * 
	 * Output 各データセットについて、組み合わせの数を１行に出力して下さい。
	 */
	public static void main(String[] args) throws Exception {

		Scanner sc = new Scanner(System.in);
		while (true) {

			int count = 0;
			int n = sc.nextInt();
			int x = sc.nextInt();

			if (n == 0 && x == 0) {

				break;

			} else {

				for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			}

		}
		sc.close();

	}
} public class Main {

	/*
	 * 1 から n までの数の中から、重複無しで３つの数を選びそれらの合計が x となる組み合わせの数を求めるプログラムを作成して下さい。
	 * 
	 * 例えば、1 から 5 までの数から３つを選んでそれらの合計が 9 となる組み合わせは、
	 * 
	 * 1 + 3 + 5 = 9 2 + 3 + 4 = 9 の２通りがあります。
	 * 
	 * Input 複数のデータセットが入力として与えられます。各データセットでは、空白で区切られた n、x が 1 行に与えられます。
	 * 
	 * n、x がともに 0 のとき入力の終わりとします。
	 * 
	 * n は 3 以上 100　以下とします。
	 * 
	 * Output 各データセットについて、組み合わせの数を１行に出力して下さい。
	 */
	public static void main(String[] args) throws Exception {

		Scanner sc = new Scanner(System.in);
		while (true) {

			int count = 0;
			int n = sc.nextInt();
			int x = sc.nextInt();

			if (n == 0 && x == 0) {

				break;

			} else {

				for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			}

		}
		sc.close();

	}
} Main

import java.util.Scanner;

public class Main {

	/*
	 * 1 から n までの数の中から、重複無しで３つの数を選びそれらの合計が x となる組み合わせの数を求めるプログラムを作成して下さい。
	 * 
	 * 例えば、1 から 5 までの数から３つを選んでそれらの合計が 9 となる組み合わせは、
	 * 
	 * 1 + 3 + 5 = 9 2 + 3 + 4 = 9 の２通りがあります。
	 * 
	 * Input 複数のデータセットが入力として与えられます。各データセットでは、空白で区切られた n、x が 1 行に与えられます。
	 * 
	 * n、x がともに 0 のとき入力の終わりとします。
	 * 
	 * n は 3 以上 100　以下とします。
	 * 
	 * Output 各データセットについて、組み合わせの数を１行に出力して下さい。
	 */
	public static void main(String[] args) throws Exception {

		Scanner sc = new Scanner(System.in);
		while (true) {

			int count = 0;
			int n = sc.nextInt();
			int x = sc.nextInt();

			if (n == 0 && x == 0) {

				break;

			} else {

				for (int i = 1; i <= n; i++) {
					for (int j = i + 1; j <= n; j++) {
						for (int j2 = j + 1; j2 <= n; j2++) {
							if (i + j + j2 == x) {
								count++;
							}
						}
					}
				}
				System.out.println(count);
			}

		}
		sc.close();

	}
}