#include <bits/stdc++.h>
using namespace std;
const int MOD = 998244353;
int dp1[510][510], dp2[510][510];
int n, k;
long long ans;
int read() {
  int x = 0, f = 1;
  char c = getchar();
  while (c < '0' || c > '9') {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9') {
    x = (x << 1) + (x << 3) + (c ^ 48);
    c = getchar();
  }
  return x * f;
}
int main() {
  n = read(), k = read();
  dp1[0][1] = 1;
  for (int x = 1; x <= n; x++)
    for (int y = 0; y < x; y++)
      for (int k = 1; k <= n; k++)
        dp1[x][max(k, x - y)] = (dp1[x][max(k, x - y)] + dp1[y][k]) % MOD;
  for (int t = 1; t <= n; t++) {
    memset(dp2, 0, sizeof(dp2));
    int num = min(n, (k - 1) / t);
    dp2[1][1] = 1;
    for (int i = 1; i <= n; i++) {
      for (int j = 1; j <= num; j++) {
        dp2[i + 1][j + 1] = (dp2[i + 1][j + 1] + dp2[i][j]) % MOD;
        dp2[i + 1][1] = (dp2[i + 1][1] + dp2[i][j]) % MOD;
      }
    }
    for (int i = 1; i <= num; i++)
      ans = (ans + 1LL * dp2[n][i] * dp1[n][t] % MOD) % MOD;
  }
  printf("%lld\n", (ans << 1) % MOD);
  return 0;
}
