#include <bits/stdc++.h>
using namespace std;
template <typename T>
T qmin(T a, T b) {
  return a < b ? a : b;
}
template <typename T>
T qmax(T a, T b) {
  return a < b ? b : a;
}
const int maxn = 510;
const int mod = 998244353;
int ans = 0;
void add(int& a, int b) {
  a += b;
  if (a >= mod) a -= mod;
}
int dp[2][maxn][maxn];
int cnt[maxn];
int p[maxn];
int main() {
  ios_base::sync_with_stdio(0);
  int n, k;
  cin >> n >> k;
  dp[0][0][0] = 1;
  for (int ii = 0; ii < n; ++ii) {
    int i = ii & 1;
    int ni = i ^ 1;
    for (int j = 0; j < n + 1; ++j)
      for (int k = 0; k < n + 1; ++k) {
        add(dp[ni][j + 1][max(j + 1, k)], dp[i][j][k]);
        add(dp[ni][1][max(1, k)], dp[i][j][k]);
      }
  }
  for (int i = 0; i < n + 1; ++i)
    for (int j = 0; j < i + 1; ++j) add(cnt[i], dp[n & 1][j][i]);
  for (int i = 0; i < n + 1; ++i) {
    add(p[i + 1], cnt[i]);
    add(p[i + 1], p[i]);
  }
  for (int i = 1; i <= n; ++i) {
    add(ans, (int)(1LL * cnt[i] * p[min(n + 1, (k - 1) / i + 1)] % mod));
  }
  ans = (ans * (long long)((mod + 1) / 2)) % mod;
  cout << ans;
  return 0;
}
