#include <bits/stdc++.h>
using namespace std;
const long long p = 998244353LL;
long long f[505][505], g[505];
long long read() {
  char c = getchar();
  long long x = 0;
  while (c < '0' || c > '9') c = getchar();
  while (c >= '0' && c <= '9') {
    x = x * 10 + c - '0';
    c = getchar();
  }
  return x;
}
int main() {
  long long n = read(), k = read();
  memset(f, 0, sizeof(f));
  for (long long j = 1; j <= n; j++) {
    f[0][j] = 1;
    for (long long i = 1; i <= n; i++) {
      for (long long l = 1; l <= min(i, j); l++) {
        f[i][j] += f[i - l][j];
        f[i][j] %= p;
      }
    }
  }
  g[1] = f[n][1];
  for (long long j = 2; j <= n; j++)
    g[j] = ((f[n][j] - f[n][j - 1]) % p + p) % p;
  long long ans = 0;
  for (long long i = 1; i <= n; i++) {
    for (long long j = 1; j < min(n + 1, (long long)ceil(k * 1.0 / i)); j++) {
      ans += g[i] * g[j];
      ans %= p;
    }
  }
  printf("%I64d\n", (ans * 2) % p);
  return 0;
}
