Codeforces Round 631 (Div. 2) - Thanks, Denis aramis Shitov!
翻译中…
Dreamoon likes sequences very much. So he created a problem about the sequence that you can't find in OEIS:
翻译中…
You are given two integers $d, m$, find the number of arrays $a$, satisfying the following constraints:
翻译中…
- The length of
$a$is$n$,$n \ge 1$ $1 \le a_1 \lt a_2 \lt \dots \lt a_n \le d$- Define an array
$b$of length$n$as follows:$b_1 = a_1$,$\forall i \gt 1, b_i = b_{i - 1} \oplus a_i$, where$\oplus$is the bitwise exclusive-or (xor). After constructing an array$b$, the constraint$b_1 \lt b_2 \lt \dots \lt b_{n - 1} \lt b_n$should hold.
翻译中…
Since the number of possible arrays may be too large, you need to find the answer modulo $m$.
翻译中…
Input
翻译中…
The first line contains an integer $t$ ($1 \leq t \leq 100$) denoting the number of test cases in the input.
翻译中…
Each of the next $t$ lines contains two integers $d, m$ ($1 \leq d, m \leq 10^9$).
翻译中…
Note that $m$ is not necessary the prime!
翻译中…
Output
翻译中…
For each test case, print the number of arrays $a$, satisfying all given constrains, modulo $m$.
翻译中…
样例
Input #1
10
1 1000000000
2 999999999
3 99999998
4 9999997
5 999996
6 99995
7 9994
8 993
9 92
10 1
Output #1
1
3
5
11
17
23
29
59
89
0
InputCopy
OutputCopy
题目信息
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。