#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; int main() { int N, K; cin >> N >> K; vector dp(N + 1); dp[0] = 1; fenwick_tree DP(N + 2); DP.add(0, 1); for (int i = K; i <= N; i++) { //dp[i] = dp[0] + dp[1] + ... + dp[i - K]; if (i - K < 0) continue; mint Add = DP.sum(0, i - K + 1); DP.add(i, Add); } mint ans = DP.sum(0, N + 1); cout << ans.val() << endl; }