// Problem: No.2791 Beginner Contest // Group: yukicoder // URL: https://yukicoder.me/problems/no/2791 // Memory Limit: 512 MB // Time Limit: 2000 ms // Author: lingfunny // // Powered by CP Editor (https://cpeditor.org) #include using namespace std; const int mxn = 1e5 + 10; const int mod = 998244353; int n, k, s[mxn], f[mxn]; int main() { scanf("%d%d", &n, &k); if (k > n) { puts("1"); return 0; } s[0] = f[0] = 1; for (int i = 1; i <= n; ++i) { s[i] = s[i - 1]; if (i >= k) f[i] = s[i - k]; s[i] += f[i]; s[i] %= mod; } printf("%d\n", s[n]); return 0; }