#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    x = 10 * x + ch - '0';
    ch = getchar();
  }
  return x * f;
}
long long gcd(long long x, long long y) { return y ? gcd(x, x % y) : x; }
long long power(long x, long y) {
  long long t = 1;
  for (; y; y >>= 1, x = x * x % 998244353)
    if (y & 1) t = t * x % 998244353;
  return t;
}
int dp[505][505];
int main() {
  int n = read(), k = read();
  int ans = 0;
  for (int i = 1; i <= n; i++) dp[0][i] = 1;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
      for (int k = 1; k <= min(j, i); k++)
        (dp[i][j] += dp[i - k][j]) %= 998244353;
  for (int i = n; i >= 1; i--) (dp[n][i] -= dp[n][i - 1]) %= 998244353;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n && i * j < k; j++)
      (ans += (long long)2 * dp[n][i] % 998244353 * dp[n][j] % 998244353) %=
          998244353;
  cout << (ans + 998244353) % 998244353 << endl;
  return 0;
}
