#include <bits/stdc++.h>
using namespace std;
const int N = 520;
const int M = 998244353;
int n, k, dp[N * N], dpp[N * N], ans;
inline int f(int n, int maxw) {
  int dp[N];
  dp[0] = 1;
  int cur = 1, sum = 1;
  for (int i = 1; i <= n; i++) {
    dp[i] = sum;
    sum += dp[i];
    if (sum >= M) sum -= M;
    if (cur == maxw) {
      sum -= dp[i - maxw];
      if (sum < 0) sum += M;
    } else
      cur++;
  }
  return dp[n];
}
int32_t main() {
  scanf("%d%d", &n, &k);
  for (int i = 1; i <= k; i++) dp[i] = f(n, i);
  for (int i = k; i >= 1; i--) {
    dpp[i] = dp[i] - dp[i - 1];
    if (dpp[i] < 0) dpp[i] += M;
  }
  for (int i = 1; i < k; i++) {
    int ub = k / i;
    if (ub * i == k) ub--;
    ans = (ans + (1ll * dpp[i] * 1ll * dp[ub]) % M) % M;
  }
  printf("%d\n", (ans + ans) % M);
}
