#abc283h. [abc283_h]Popcount Sum

[abc283_h]Popcount Sum

问题陈述

给定一个范围在11NN之间的整数,求所有余数满足除以MM的余数等于RR的数的popcount和。
这里,一个正整数XX的popcount是它的二进制表示中11的个数,也就是非负整数kk的个数,使得第2k2^k位为11
对于每个输入,处理TT个测试用例。

约束条件

  • 1T1051 \leq T \leq 10^5
  • 1MN1091 \leq M \leq N \leq 10^9
  • 0R<M0 \leq R < M
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出。第一行如下:

TT

接下来是TT个测试用例。每个测试用例的格式如下:

NN MM RR

输出

打印TT行,第ii行应包含第ii个测试用例的答案。

示例输入1

2
12 5 1
6 1 0

示例输出1

6
9

在第11个测试用例中,11的popcount为1166的popcount为221111的popcount为33,所以应该打印1+2+3=61+2+3=6
在第22个测试用例中,11的popcount为1122的popcount为1133的popcount为2244的popcount为1155的popcount为2266的popcount为22,所以应该打印1+1+2+1+2+2=91+1+2+1+2+2=9