题目背景
English statement. You must submit your code at the Chinese version of the statement.
题目描述
给你两个正整数 n,m。
我们称一个长度为 k 的正整数序列 a1,a2,…,ak 是好的当且仅当:
- ∀i∈[1,k],1≤ai≤m;
- 存在一个正整数 l∈[1,3k] 满足:∀i∈[1,l],ai=a2l+1−i。
求有多少个长度 ≤n 的好的序列,对 109+7 取模。
输入格式
本题有多组测试数据。
第一行包含一个正整数 T,表示测试数据组数。
对于每组测试数据:
第一行包含两个正整数 n,m。
输出格式
对于每组数据,输出一行一个非负整数,表示答案对 109+7 取模后的值。
4
3 2
5 3
10 4
100000 998244353123456
4
117
430352
967771719
提示
【样例解释】
对于第一组数据,长度 ≤3 的好的序列有 [1,1,1],[1,1,2],[2,2,1],[2,2,2]。
【数据范围】
本题采用捆绑测试且开启子任务依赖。
子任务编号 |
n≤ |
m≤ |
子任务依赖 |
分值 |
1 |
1018 |
1 |
无 |
1 |
2 |
10 |
4 |
7 |
3 |
105 |
1018 |
2 |
28 |
4 |
1018 |
1,2,3 |
64 |
对于所有数据,满足:
- 1≤T≤10;
- 3≤n≤1018;
- 1≤m≤1018。