题库练习 Simons and Diophantus Equation
← 上一题 下一题 →

A16513 | Simons and Diophantus Equation

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

我独自前行,走向远方,在渐渐消逝的光中静静等待着日落的最后一缕光。

—— SHUN,[CHAKA](https://open.spotify.com/track/1WL7sDRLAWmMGGJgQMUAGv)

Simons 给了你两个整数 $n$ 和 $m$。

请你计算有多少个有序三元组 $(i, j, k)$ 满足以下条件:

- $0\le i, j, k\le m$,并且
- 存在整数 $x$ 和 $y$,使得 $(i \oplus j) \cdot x + (j \oplus k) \cdot y = n$,其中 $\oplus$ 表示[按位异或运算](https://en.wikipedia.org/wiki/Bitwise_operation#XOR)。

输入格式

每组测试数据包含多个测试用例。第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例数量。

接下来每组测试用例包含一行,包含两个整数 $n$ 和 $m$($1\le n\le 10^9$,$1\le m\le 3\cdot 10^5$)——给定的整数。

保证所有测试用例中 $m$ 的总和不超过 $3\cdot 10^5$。

输出格式

对于每个测试用例,输出一个整数,表示满足条件的有序三元组 $(i,j,k)$ 的数量。

输入输出样例

输入 #1
5
3 2
4 6
1 1
7 20
720 2025
输出 #1
18
254
6
5558
7864357450
C++ 编辑器
输入
输出