#P1994. 2024.9.5-XM-第1题-括号串(算法岗)

2024.9.5-XM-第1题-括号串(算法岗)

题目内容

程序语言中有各种各样的括号,比如圆括号()(),方括号[][],花括号<><>,等等。

如果一个括号串ss满足下列三个条件中的至少一个,则我们认为该括号串是合法的。

11.该括号串是空串。

22.该括号串行如atbatb,其中aabb是一对可以匹配的括号(即aabb是同一种括号,且aa为左括号bb为右括号),而tt是一个合法的括号。

33.该括号串形如t1t2t1t2,其中ttt2t2都是合法括号串。

11:由条件22()()是合法的括号串。其中a=(,b=),t为空串。

22:由条件22<0><0>是合法的括号串,其中a=<,b=>,t=0a=<,b=>,t=0

33:由条件33[]<0>[]<0>是合法的括号串,其中t1=[],t2=<0>t1=[],t2=<0>

44:}{,()和))(不是合法的括号串。 现在给出可以使用的括号种类kk,请你求出使用kk括号可以组成几个长度为nn的不同的合法括号串。

输入描述

第一行有两个正整数,nn(1<=n<=100001<=n<=10000)和kk(1<=k<=101<=k<=10)。其中nn为括号串的长度,kk为允许使用的括号种类。输入保证nn为偶数

输出描述

输出仅使用kk括号可以组成几种长度为nn的不同的合法括号串。因为答案很大,你只需要输出答案除以998244353998244353所得的余数

样例1

输入

6 2

输出

40