Innocent longing
时间限制:C/C++/Rust/Pascal 5秒,其他语言10秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

In juvenile years, I used to innocently long for his company. But finally, it is only confusion left by him in my mind.

For a given permutation of integers in , we call a subsegment an interval  iff the difference between the maximum value and the mininum value in the subsegment equals to r-l.

For a given interval , we call it a non-trivial interval iff .

A permutation could be in my mind, iff there is at least one non-trivial interval whose length is greater than k.

I will give you n,k, please tell me how many permutations could be in my mind, modulo 998244353.

输入描述:

The first line contains two integers n,k ().

输出描述:

Output a single line contains a single integer, indicating the answer modulo 998244353.
示例1

输入

复制
3 2

输出

复制
0
示例2

输入

复制
4 2

输出

复制
20
示例3

输入

复制
300 20

输出

复制
940881556
示例4

输入

复制
100000 1

输出

复制
123738250