Permutation Counting 3
题号:NC305942
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

给定 n,m,求有多少个 n 阶排列 p 满足:
- 对于任意区间 1\le l\le r\le n,令 i,j 分别为 a_l,\dots,a_r 中最小值与最大值的下标,有 |i-j|\le m
答案对 998244353 取模。

输入描述:

一行,三个整数 n,m

输出描述:

一行,一个整数,表示答案。
示例1

输入

复制
4 1

输出

复制
8
示例2

输入

复制
100 20

输出

复制
861619849

备注:

1\le m< n\le 10^7