#include <bits/stdc++.h>
const int N = 510, MO = 998244353;
int f[N][N][2], sum[N];
inline void add(int &a, const int &b) {
  a = (a + b) % MO;
  return;
}
int main() {
  int n, k;
  scanf("%d%d", &n, &k);
  for (int j = 1; j <= n; j++) {
    f[0][j][0] = 1;
  }
  for (int i = 0; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      for (int k = 1; k < j && i + k <= n; k++) {
        add(f[i + k][j][0], f[i][j][0]);
        add(f[i + k][j][1], f[i][j][1]);
      }
      if (i + j <= n) {
        add(f[i + j][j][1], f[i][j][0]);
        add(f[i + j][j][1], f[i][j][1]);
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    sum[i] = (f[n][i][1] + sum[i - 1]) % MO;
  }
  int ans = 0;
  for (int i = 1; i <= n; i++) {
    int t = std::min(n, (k - 1) / i);
    add(ans, 1ll * f[n][i][1] * sum[t] % MO);
  }
  printf("%d", ans * 2 % MO);
  return 0;
}
