CFCF2205G.Simons and Diophantus Equation

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

—— SHUN,CHAKA

Simons 给了你两个整数 nnmm

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

  • 0i,j,km0\le i, j, k\le m,并且
  • 存在整数 xxyy,使得 (ij)x+(jk)y=n(i \oplus j) \cdot x + (j \oplus k) \cdot y = n,其中 \oplus 表示按位异或运算

输入格式

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

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

保证所有测试用例中 mm 的总和不超过 31053\cdot 10^5

输出格式

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

输入输出样例

  • 输入#1

    5
    3 2
    4 6
    1 1
    7 20
    720 2025

    输出#1

    18
    254
    6
    5558
    7864357450

说明/提示

在第一个测试用例中,共有 1818 个满足条件的三元组。例如:

  • (2,1,2)(2,1,2) 是一个合法的三元组,因为方程 (21)x+(12)y=3(2\oplus 1)\cdot x+(1\oplus 2)\cdot y=3 存在整数解 x=3x=3y=2y=-2
  • (1,1,0)(1,1,0) 也是一个合法的三元组,因为方程 (11)x+(10)y=3(1\oplus 1)\cdot x+(1\oplus 0)\cdot y=3 存在整数解 x=100x=100y=3y=3
  • (2,0,2)(2,0,2) 不是合法的三元组,因为方程 (20)x+(02)y=3(2\oplus 0)\cdot x+(0\oplus 2)\cdot y=3 没有整数解。
  • (1,1,1)(1,1,1) 不是合法的三元组,因为方程 (11)x+(11)y=3(1\oplus 1)\cdot x+(1\oplus 1)\cdot y=3 没有整数解。
  • (3,2,1)(3,2,1) 不是合法的三元组,因为 3>23 > 2
首页