CF1329B.Dreamoon Likes Sequences

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

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,md, m , find the number of arrays aa , satisfying the following constraints:

  • The length of aa is nn , n1n \ge 1
  • 1a1<a2<<and1 \le a_1 < a_2 < \dots < a_n \le d
  • Define an array bb of length nn as follows: b1=a1b_1 = a_1 , i>1,bi=bi1ai\forall i > 1, b_i = b_{i - 1} \oplus a_i , where \oplus is the bitwise exclusive-or (xor). After constructing an array bb , the constraint b1<b2<<bn1<bnb_1 < b_2 < \dots < b_{n - 1} < b_n should hold.

Since the number of possible arrays may be too large, you need to find the answer modulo mm .

输入格式

The first line contains an integer tt ( 1t1001 \leq t \leq 100 ) denoting the number of test cases in the input.

Each of the next tt lines contains two integers d,md, m ( 1d,m1091 \leq d, m \leq 10^9 ).

Note that mm is not necessary the prime!

输出格式

For each test case, print the number of arrays aa , satisfying all given constrains, modulo mm .

输入输出样例

  • 输入#1

    10
    1 1000000000
    2 999999999
    3 99999998
    4 9999997
    5 999996
    6 99995
    7 9994
    8 993
    9 92
    10 1

    输出#1

    1
    3
    5
    11
    17
    23
    29
    59
    89
    0
首页