#include <bits/stdc++.h>
using namespace std;
long long int Mod = 998244353;
double error = 1e-8;
const int lim = 502;
inline long long int MOD(long long int x) {
  long long int y = x % Mod;
  if (y < 0) y += Mod;
  return y;
}
long long int memo[lim][lim];
long long int smemo[lim][lim];
long long int ememo[lim][lim];
void precal() {
  for (int i = 0; i < lim; i++)
    for (int j = 0; j < lim; j++) {
      if (i == 0)
        smemo[i][j] = 1;
      else if (j == 0)
        smemo[i][j] = 1;
      else if (i > j)
        smemo[i][j] = smemo[i - 1][j];
      else if (i == j)
        smemo[i][j] = (smemo[i - 1][j] + 1) % Mod;
      else
        smemo[i][j] = MOD(2 * smemo[i][j - 1] - smemo[i][j - i - 1]);
      if (j == 0)
        memo[i][j] = 1;
      else
        memo[i][j] = MOD(smemo[i][j] - smemo[i][j - 1]);
    }
  for (int i = 0; i < lim; i++)
    for (int j = 0; j < lim; j++) {
      if (i == 0)
        ememo[i][j] = memo[i][j];
      else
        ememo[i][j] = MOD(memo[i][j] - memo[i - 1][j]);
    }
  return;
}
int main() {
  precal();
  int n, k;
  scanf("%d %d", &n, &k);
  long long int ret = 0;
  for (int i = 1; i <= n && i < k; i++) {
    int tmp = k / i + ((k % i == 0) ? 0 : 1);
    if (tmp - 1 < lim)
      ret = (ret + (ememo[i][n] * memo[tmp - 1][n]) % Mod) % Mod;
    else
      ret = (ret + (ememo[i][n] * memo[lim - 1][n]) % Mod) % Mod;
  }
  printf("%lld", (2 * ret) % Mod);
}
