#include <bits/stdc++.h>
using namespace std;
const long long N = 505, M = (long long)998244353, inf = INT_MAX;
const long long INF = LLONG_MAX;
long long n, k;
long long cur, dp[2][N];
long long ways[N];
long long dp2[N][N];
void solve() {
  cin >> n >> k;
  for (long long a = 1; a <= n; a++) {
    dp[cur][1] = 1;
    for (long long i = 1; i < n; i++) {
      for (long long j = 0; j <= a && j <= i; j++)
        if (dp[cur][j]) {
          long long my = dp[cur][j];
          dp[cur][j] = 0;
          if (j + 1 <= a) dp[!cur][j + 1] = (dp[!cur][j + 1] + my) % M;
          dp[!cur][1] = (dp[!cur][1] + my) % M;
        }
      cur = !cur;
    }
    for (long long j = 0; j <= a; j++) {
      ways[a] = (ways[a] + dp[cur][j]) % M;
      dp[cur][j] = 0;
    }
  }
  dp2[0][n] = 2;
  for (long long i = 0; i < n; i++)
    for (long long a = 0; a <= n; a++)
      if (dp2[i][a])
        for (long long j = i + 1; j <= n; j++) {
          long long len = j - i;
          long long na = min(a, (k - 1) / len);
          dp2[j][na] = (dp2[j][na] + (dp2[i][a])) % M;
        }
  long long res = 0;
  for (long long a = 0; a <= n; a++) res = (res + (dp2[n][a]) * ways[a]) % M;
  cout << res << '\n';
}
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long test = 1;
  while (test--) solve();
}
