编程题
### 问题描述
在一个充满科技感的世界里,基德是一名著名的侦探,他被委托一个秘密任务,需要进入一个神秘的设施进行调查。设施的入口被一把特别的密码锁保护着,锁上有 $N$ 个数字按钮,每个按钮上的数字都是在 $1$ 到 $M$ 之间的整数。
基德注意到,密码锁有一个特殊的规则:任意两个相邻的数字按钮上的数字之差的绝对值都必须大于或等于 $K$。他开始思考如何破解这个密码。他想知道,有多少种可能的按钮数字序列满足这个规则?
然而,由于可能的数字序列数量可能非常大,他只需要知道这个数量模 $998244353$ 的结果。
你能帮助基德解决这个问题吗?
### 输入格式
输入包含三个整数 $N, M, K$,表示数字按钮的数量、按钮上的数字上限和相邻的数字之间的最小差值。
数据范围保证:$2 \leq N \leq 1000$,$1 \leq M \leq 5000$,$0 \leq K \leq M - 1$。
### 输出格式
输出一个整数,表示满足条件的可能的数字序列数量模 $998244353$ 的结果。
### 样例输入
```text
3 3 2
```
### 样例输出
```text
2
```
在这个例子中,有两种满足条件的数字序列:$1, 3, 1$ 和 $3, 1, 3$。