N. Memory Problems
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Danny always suffers because of his terrible memory. Last time, he forgot the anniversary of his couple, and Dannita got extremely mad at him. Needless to say, he spent a terrible week after that.

This time, Dannita gave him an array $$$A$$$ as a present for Saint Valentine. Unfortunately, Danny lost it, and he can't remember its elements. He is in big trouble if he doesn't get it back!!

Luckily, Danny remembers a few facts about the array.

First of all, he remembers that it is a permutation of the numbers from $$$0$$$ to $$$N-1$$$. That means that it contains every number from $$$0$$$ to $$$N-1$$$ exactly once.

Secondly, he remembers that the array has the following property. Let $$$B$$$ be the array constructed as follows: $$$b_i = a_i \text{ xor } 1$$$ for each $$$1 \leq i \leq N$$$, where xor refers to the bitwise xor operation. Let $$$inv(A)$$$ be the number of inversions of the array $$$A$$$ and $$$inv(B)$$$ be the number of inversions of the array $$$B$$$ (the number of inversions is the number of pairs $$$(i,j)$$$ such that $$$i \lt j$$$ and $$$a_i \gt a_j$$$ ). Danny remembers the difference between $$$inv(B)$$$ and $$$inv(A)$$$. In other words, Danny remembers an integer $$$D$$$ where $$$D = inv(B) - inv(A)$$$.

Thirdly, Danny remembers that for all $$$0 \leq x \leq N-1$$$, $$$x$$$ and $$$x \text{ xor } 1$$$ are NOT adjacent in the array A.

Can you help Danny find the number of possible arrays A that satisfy all these conditions

Input

The first and only line of input contains two integers $$$N$$$ and $$$D$$$ ($$$1 \leq N \leq 10^5, 0 \leq |D| \leq 10^{18}$$$)

Output

A single integer: the number of arrays that satisfy the conditions.

Since it can be very large, print the answer modulo $$$998244353$$$.

Example
Input
4 0
Output
4
Note

The four possible arrays are $$$[0, 3, 1, 2], [1, 2, 0, 3], [2, 1, 3, 0], \text{ and } [3, 0, 2, 1]$$$