#include <bits/stdc++.h>
using namespace std;
int P = 998244353;
int main() {
  int N, K;
  cin >> N >> K;
  if (K == 1) {
    cout << 0;
    return 0;
  }
  int f[501] = {0};
  f[0] = 1;
  for (int n = 1; n <= N; n++) {
    int g[501][501] = {0};
    g[0][0] = 1;
    for (int i = 1; i <= N; i++) {
      for (int j0 = 0; j0 <= n; j0++) g[i][0] = (g[i][0] + g[i - 1][j0]) % P;
      for (int j = 1; j <= n; j++) g[i][j] = g[i - 1][j - 1];
    }
    f[n] = (accumulate(&g[N][0], &g[N][n] + 1, 0ll) % P -
            accumulate(&f[0], &f[n - 1] + 1, 0ll) % P + P) %
           P;
  }
  int ans = 1;
  for (int _ = 1; _ <= 2 * N - 1; _++) ans = (ans * 2) % P;
  for (int i = 1; i <= N; i++)
    for (int j = (int)ceil((double)K / i); j <= N; j++)
      ans = (ans - ((2ll * f[i] * f[j]) % P) + P) % P;
  cout << ans;
}
