#include <bits/stdc++.h>
using namespace std;
constexpr long long MOD = 998244353;
constexpr int NMAX = 505;
int n, k;
long long FMOD(long long x) { return (x + MOD) % MOD; }
long long intAnswers[NMAX][NMAX], psums[NMAX][NMAX], exact[NMAX][NMAX];
int main() {
  scanf("%d %d", &n, &k);
  for (int nBound = 1; nBound <= n; ++nBound) {
    intAnswers[nBound][0] = psums[nBound][0] = 1;
    for (int csum = 1; csum <= n; ++csum) {
      int ql = max(0, csum - nBound), qr = csum - 1;
      intAnswers[nBound][csum] =
          FMOD(psums[nBound][qr] - (ql == 0 ? 0 : psums[nBound][ql - 1]));
      psums[nBound][csum] =
          (psums[nBound][csum - 1] + intAnswers[nBound][csum]) % MOD;
    }
  }
  for (int csum = 1; csum <= n; ++csum) {
    for (int nBound = n; nBound > 0; --nBound) {
      exact[nBound][csum] =
          FMOD(intAnswers[nBound][csum] - intAnswers[nBound - 1][csum]);
    }
  }
  long long ans = 0;
  for (int max_a = 1; max_a <= n; ++max_a) {
    int max_b = min(n, k / max_a - (k % max_a == 0 ? 1 : 0));
    if (max_b == 0) continue;
    ans = (ans + exact[max_a][n] * intAnswers[max_b][n] % MOD) % MOD;
  }
  printf("%lld\n", ans * 2 % MOD);
  return 0;
}
