#include <bits/stdc++.h>
using namespace std;
const long long N = 508;
long long n, k, dp[N][N], mod = 998244353, ans;
long long poww(long long x, long long y) {
  x %= mod;
  if (y == 0) return 1;
  if (y == 1) return x;
  long long w = poww(x, (y / 2));
  if (y % 2) return ((w * w) % mod * x) % mod;
  return (w * w) % mod;
}
int main() {
  cin >> n >> k;
  dp[0][0] = 1;
  for (long long i = 1; i <= n; i++) {
    dp[0][i] = 1;
    dp[1][i] = 2;
    dp[i][1] = 2;
  }
  long long mo = poww(2, mod - 2);
  for (long long i = 2; i <= n; i++) {
    for (long long j = 2; j <= i; j++) {
      for (long long g = i - 1; g >= i - j; g--) {
        if (g == 0)
          dp[i][j] = (dp[i][j] + 2) % mod;
        else
          dp[i][j] = (dp[i][j] + dp[g][min(j, g)]) % mod;
      }
    }
  }
  for (long long i = 1; i <= n; i++) {
    long long p = dp[n][i] - dp[n][i - 1];
    long long j = (k / i) - (k % i == 0);
    if (!j) break;
    j = min(j, n);
    ans = (ans + ((p * dp[n][j]) % mod * mo)) % mod;
  }
  cout << ans;
}
