F. Function Sum
time limit per test
4 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Suppose you have an integer array $$$a_1, a_2, \dots, a_n$$$.

Let $$$\operatorname{lsl}(i)$$$ be the number of indices $$$j$$$ ($$$1 \le j < i$$$) such that $$$a_j < a_i$$$.

Analogically, let $$$\operatorname{grr}(i)$$$ be the number of indices $$$j$$$ ($$$i < j \le n$$$) such that $$$a_j > a_i$$$.

Let's name position $$$i$$$ good in the array $$$a$$$ if $$$\operatorname{lsl}(i) < \operatorname{grr}(i)$$$.

Finally, let's define a function $$$f$$$ on array $$$a$$$ $$$f(a)$$$ as the sum of all $$$a_i$$$ such that $$$i$$$ is good in $$$a$$$.

Given two integers $$$n$$$ and $$$k$$$, find the sum of $$$f(a)$$$ over all arrays $$$a$$$ of size $$$n$$$ such that $$$1 \leq a_i \leq k$$$ for all $$$1 \leq i \leq n$$$ modulo $$$998\,244\,353$$$.

Input

The first and only line contains two integers $$$n$$$ and $$$k$$$ ($$$1 \leq n \leq 50$$$; $$$2 \leq k < 998\,244\,353$$$).

Output

Output a single integer — the sum of $$$f$$$ over all arrays $$$a$$$ of size $$$n$$$ modulo $$$998\,244\,353$$$.

Examples
Input
3 3
Output
28
Input
5 6
Output
34475
Input
12 30
Output
920711694
Note

In the first test case:

$$$f([1,1,1]) = 0$$$$$$f([2,2,3]) = 2 + 2 = 4$$$
$$$f([1,1,2]) = 1 + 1 = 2$$$$$$f([2,3,1]) = 2$$$
$$$f([1,1,3]) = 1 + 1 = 2$$$$$$f([2,3,2]) = 2$$$
$$$f([1,2,1]) = 1$$$$$$f([2,3,3]) = 2$$$
$$$f([1,2,2]) = 1$$$$$$f([3,1,1]) = 0$$$
$$$f([1,2,3]) = 1$$$$$$f([3,1,2]) = 1$$$
$$$f([1,3,1]) = 1$$$$$$f([3,1,3]) = 1$$$
$$$f([1,3,2]) = 1$$$$$$f([3,2,1]) = 0$$$
$$$f([1,3,3]) = 1$$$$$$f([3,2,2]) = 0$$$
$$$f([2,1,1]) = 0$$$$$$f([3,2,3]) = 2$$$
$$$f([2,1,2]) = 1$$$$$$f([3,3,1]) = 0$$$
$$$f([2,1,3]) = 2 + 1 = 3$$$$$$f([3,3,2]) = 0$$$
$$$f([2,2,1]) = 0$$$$$$f([3,3,3]) = 0$$$
$$$f([2,2,2]) = 0$$$

Adding up all of these values, we get $$$28$$$ as the answer.