9822: ABC300 —— Ex - Fibonacci: Revisited
[Creator : ]
Description
We define the general term $a_n$ of a sequence $a_0, a_1, a_2, \dots$ by:
$a_n = \begin{cases} 1 & (0 \leq n \lt K) \\ \displaystyle{\sum_{i=1}^K} a_{n-i} & (K \leq n). \\ \end{cases}$
Given an integer $N$, find the sum, modulo $998244353$, of $a_m$ over all non-negative integers $m$ such that $m\text{ AND }N = m$. ($\text{AND}$ denotes the bitwise AND.)
What is bitwise AND? The bitwise AND of non-negative integers $A$ and $B$, $A\text{ AND }B$, is defined as follows.
・When $A\text{ AND }B$ is written in binary, its $2^k$s place ($k \geq 0$) is $1$ if $2^k$s places of $A$ and $B$ are both $1$, and $0$ otherwise.
$a_n = \begin{cases} 1 & (0 \leq n \lt K) \\ \displaystyle{\sum_{i=1}^K} a_{n-i} & (K \leq n). \\ \end{cases}$
Given an integer $N$, find the sum, modulo $998244353$, of $a_m$ over all non-negative integers $m$ such that $m\text{ AND }N = m$. ($\text{AND}$ denotes the bitwise AND.)
What is bitwise AND? The bitwise AND of non-negative integers $A$ and $B$, $A\text{ AND }B$, is defined as follows.
・When $A\text{ AND }B$ is written in binary, its $2^k$s place ($k \geq 0$) is $1$ if $2^k$s places of $A$ and $B$ are both $1$, and $0$ otherwise.
Input
The input is given from Standard Input in the following format:
```
$K$ $N$
```
```
$K$ $N$
```
Output
Print the answer.
Constraints
- $1 \leq K \leq 5 \times 10^4$
- $0 \leq N \leq 10^{18}$
- $N$ and $K$ are integers.
- $0 \leq N \leq 10^{18}$
- $N$ and $K$ are integers.
Sample 1 Input
2 6
Sample 1 Output
21
$a_0$ and succeeding terms are 1,1,2,3,5,8,13,21,…. Four non-negative integers, 0,2,4, and 6, satisfy 6 AND m=m, so the answer is 1+2+5+13=21.
Sample 2 Input
2 8
Sample 2 Output
35
Sample 3 Input
1 123456789
Sample 3 Output
65536
300 20230429
125461938
Sample 4 Input
42923 999999999558876113
Sample 4 Output
300300300