#include <bits/stdc++.h>
using namespace std;
const int MOD = 998244353;
int main() {
  int n, k;
  scanf("%d%d", &n, &k);
  vector<int> g(k + 1), g_(k + 1);
  vector<vector<int> > dp(n + 1, vector<int>(2));
  vector<vector<int> > s(n + 1, vector<int>(2));
  for (int t = 1; t < k; t++) {
    dp[0][0] = dp[0][1] = 1;
    s[0][0] = s[0][1] = 1;
    for (int i = 1; i <= n; i++) {
      for (int b = 0; b < 2; b++) {
        dp[i][b] = s[i - 1][b ^ 1];
        if (i - t - 1 >= 0)
          dp[i][b] = (dp[i][b] - s[i - t - 1][b ^ 1] + MOD) % MOD;
        s[i][b] = (s[i - 1][b] + dp[i][b]) % MOD;
      }
    }
    g[t] = (dp[n][0] + dp[n][1]) % MOD;
    g_[t] = dp[n][0];
  }
  int ans = 0;
  for (int t = 1; t < k; t++) {
    int v = k / t - (k % t == 0);
    int res = (g[t] - g[t - 1] + MOD) % MOD;
    res = 1LL * res * g_[v] % MOD;
    ans = (ans + res) % MOD;
  }
  printf("%d\n", ans);
  return 0;
}
