#abc300h. [abc300_h]Fibonacci: Revisited
[abc300_h]Fibonacci: Revisited
题目描述
我们定义序列 的通项公式为:
$a_n = \begin{cases} 1 & (0 \leq n < K) \\ \displaystyle{\sum_{i=1}^K} a_{n-i} & (K \leq n). \\ \end{cases}$
给定一个整数 ,找到满足 的所有非负整数 对应的 的和(对模 取余)。这里的 表示按位与操作。
什么是按位与?非负整数 和 的按位与 定义如下:
- 当 的二进制表示中的第 位()为 时,仅当 和 的相应的第 位都为 时,该位为 ,否则为 。
约束条件
- 和 是整数。
输入
输入以以下格式从标准输入中给出:
输出
输出作为一个整数。
示例输入 1
2 6
示例输出 1
21
的值依次为 。对于满足 的非负整数 ,有 ,所以答案为 。
示例输入 2
2 8
示例输出 2
35
示例输入 3
1 123456789
示例输出 3
65536
示例输入 4
300 20230429
示例输出 4
125461938
示例输入 5
42923 999999999558876113
示例输出 5
300300300