Arena

题意翻译

一开始有 $n$ 个英雄,每个英雄有一些初始血量 每一个回合中,每个存活英雄都会给其它所有存活英雄扣除一单位血量,如果一个英雄的血量少于一单位,那么就认为他不再存活 现在你要为所有英雄指派初始血量 $a_i\in [1,x]$ ,然后进行若干回合,使得最后没有英雄存活,求满足条件的方案数,对 $\texttt{998244353}$ 取模

题目描述

There are $ n $ heroes fighting in the arena. Initially, the $ i $ -th hero has $ a_i $ health points. The fight in the arena takes place in several rounds. At the beginning of each round, each alive hero deals $ 1 $ damage to all other heroes. Hits of all heroes occur simultaneously. Heroes whose health is less than $ 1 $ at the end of the round are considered killed. If exactly $ 1 $ hero remains alive after a certain round, then he is declared the winner. Otherwise, there is no winner. Your task is to calculate the number of ways to choose the initial health points for each hero $ a_i $ , where $ 1 \le a_i \le x $ , so that there is no winner of the fight. The number of ways can be very large, so print it modulo $ 998244353 $ . Two ways are considered different if at least one hero has a different amount of health. For example, $ [1, 2, 1] $ and $ [2, 1, 1] $ are different.

输入输出格式

输入格式


The only line contains two integers $ n $ and $ x $ ( $ 2 \le n \le 500; 1 \le x \le 500 $ ).

输出格式


Print one integer — the number of ways to choose the initial health points for each hero $ a_i $ , where $ 1 \le a_i \le x $ , so that there is no winner of the fight, taken modulo $ 998244353 $ .

输入输出样例

输入样例 #1

2 5

输出样例 #1

5

输入样例 #2

3 3

输出样例 #2

15

输入样例 #3

5 4

输出样例 #3

1024

输入样例 #4

13 37

输出样例 #4

976890680