编程题
### 问题描述
辉神有 $n$ 个糖果,编号为 $1$ 到 $n$,他打算把这些糖果分成 $m$ 堆来发给到他家要糖果的孩子们。
因为他觉得无聊,所以他想让分好的糖果满足如下的性质:
1. 每一堆糖果的数目都大于 $0$。
2. 每一个糖果都被分到恰好一堆糖果中。
3. 对于每一堆糖果,把这些糖果按照标号排序之后,任意两个相邻的糖果的编号的奇偶性不同。例如 $\\{ 1, 3, 4 \\}$就是不满足这个条件的,$\\{ 1,2,5,6,9 \\}$ 就是满足这个条件的。
现在他想知道有多少种不同的分糖果的方案。
两个分糖果的方案是不同的当且仅当至少存在一个数对 $(i, j)$ 使得在第一个方案中第 $i$ 颗糖果在第 $j$ 堆中而第二个方案中不在。
### 输入格式
第一行两个正整数 $n, m$,保证 $n \geq m$。
### 输出格式
输出一个整数,表示满足红包要求的方案数,答案取模 $998244353$。
### 样例输入
```
3 2
```
### 样例输出
```
4
```
### 评测数据规模
$1 \leq n, m \leq 6000$。