#abc283h. [abc283_h]Popcount Sum

[abc283_h]Popcount Sum

問題文

11 以上 NN 以下の整数であって、MM で割った余りが RR になるものすべてに対する popcount の総和を求めてください。
ただし、正整数 XX に対して XX の popcount とは XX を二進表記したときの 11 の個数、すなわち 2k2^k の位が 11 となる非負整数 kk の個数のことです。
11 つの入力につき、 TT 個のテストケースに答えてください。

制約

  • 1leqTleq1051 \\leq T \\leq 10^5
  • 1leqMleqNleq1091 \\leq M \\leq N \\leq 10^9
  • 0leqR<M0 \\leq R < M
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。入力の 11 行目は以下の通りである。

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+31+2+3 の計算結果である 66 を出力します。
22 つ目のテストケースでは、11 の popcount が 1122 の popcount が 1133 の popcount が 2244 の popcount が 1155 の popcount が 2266 の popcount が 22 であるため 1+1+2+1+2+21+1+2+1+2+2 の計算結果である 99 を出力します。