Counting is Fun!
给定两个整数 n 和 x,请找出所有正整数三元组 (a,b,c) 的数量,使得:
$$ab + ac + bc \le n \quad \text{并且} \quad a + b + c \le x.
$$
其中,顺序不同的三元组视为不同(例如 (1,1,2) 和 (1,2,1) 是不同的),并且 a,b,c 都必须严格大于 0。
输入
- 第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
- 对于每个测试用例,包含两个整数 n 和 x(1≤n,x≤106)。
保证所有测试用例中 n 的总和不超过 106,且 x 的总和也不超过 106。
输出
对于每个测试用例,输出一个整数,表示满足 ab+ac+bc≤n 且 a+b+c≤x 的所有正整数三元组 (a,b,c) 的数量。
输入输出样例 #1
输入 #1
4
7 4
10 5
7 1000
900000 400000
输出 #1
4
10
7
1768016938
说明
- 在第一个测试用例中,满足条件的三元组为 (1,1,1)、(1,1,2)、(1,2,1) 和 (2,1,1)。因此答案是 4。
- 在第二个测试用例中,满足条件的三元组为 (1,1,1)、(1,1,2)、(1,1,3)、(1,2,1)、(1,2,2)、(1,3,1)、(2,1,1)、(2,1,2)、(2,2,1) 和 (3,1,1)。因此答案是 10。