E. Арена
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На арене сражаются $$$n$$$ героев. Изначально у $$$i$$$-го героя $$$a_i$$$ единиц здоровья.

Бой на арене проходит в несколько раундов. В начале каждого раунда каждый еще живой герой наносит $$$1$$$ урона всем остальным героям. Удары всех героев происходят одновременно. Герои, чье здоровье стало меньше $$$1$$$ в конце раунда, считаются убитыми.

Если после некоторого раунда в живых остается ровно $$$1$$$ герой, то он объявляется победителем. В противном случае победителя нет.

Ваша задача — посчитать количество способов выбрать начальное здоровье для каждого героя $$$a_i$$$, где $$$1 \le a_i \le x$$$, таким образом, чтобы не существовало победителя боя. Количество способов может быть очень большим, поэтому выведите его по модулю $$$998244353$$$. Два способа считаются различными, если хотя бы у одного героя отличается количество здоровья. Например, способы $$$[1, 2, 1]$$$ и $$$[2, 1, 1]$$$ — разные.

Входные данные

Единственная строка содержит два целых числа $$$n$$$ и $$$x$$$ ($$$2 \le n \le 500; 1 \le x \le 500$$$).

Выходные данные

Выведите одно целое число — количество способов выбрать начальное здоровье для каждого героя $$$a_i$$$, где $$$1 \le a_i \le x$$$, таким образом, чтобы не существовало победителя боя, взятое по модулю $$$998244353$$$.

Примеры
Входные данные
2 5
Выходные данные
5
Входные данные
3 3
Выходные данные
15
Входные данные
5 4
Выходные данные
1024
Входные данные
13 37
Выходные данные
976890680