Consider the following operation on an array $a$ of length $n$. Choose an index $i$ ($1 \le i < n$), and then:
- if $a_i = a_{i+1}$, decrease both $a_i$ and $a_{i+1}$ by $1$;
- otherwise, decrease the smaller of $a_i$ and $a_{i+1}$ by $1$.
Every element of the array must be non-negative at all times, so an operation may only be applied when it does not make any element negative.
An array $a$ is called good if it is possible to make all of its elements equal to $0$ by applying this operation any number of times, possibly zero.
You are given $n$ and $k$. Count the good arrays $a$ of length $n$ satisfying $0 \le a_i \le k$ for every $i$, modulo $998\,244\,353$.
Input
The only line contains two integers $n$ and $k$ ($1 \le n,k \le 250\,000$).
Output
Print a single integer: the number of good arrays, taken modulo $998\,244\,353$.
Examples
Input 1
5 2
Output 1
36
Input 2
7 3
Output 2
855